X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmisc%2Fsg_path.hxx;h=70f1b6c52b5ee8ca4911813459b12fe795b95df6;hb=2a2e2716bdfbecb3494ab935171ed6224a178470;hp=5e3c5cb2f22ccf50f2a326f99eef5e18e6ec606b;hpb=8390df37ca3d7d24cbc6ecb858e007ed4c755520;p=simgear.git diff --git a/simgear/misc/sg_path.hxx b/simgear/misc/sg_path.hxx index 5e3c5cb2..70f1b6c5 100644 --- a/simgear/misc/sg_path.hxx +++ b/simgear/misc/sg_path.hxx @@ -6,7 +6,7 @@ // Written by Curtis L. Olson, started April 1999. // -// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org +// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -18,10 +18,9 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Library General Public License for more details. // -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the -// Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -29,14 +28,18 @@ #ifndef _SG_PATH_HXX #define _SG_PATH_HXX +#include #include -#include STL_STRING +#include #include -SG_USING_STD(string); +using std::string; +#ifdef _MSC_VER + typedef int mode_t; +#endif /** * A class to hide path separator difference across platforms and assist @@ -88,7 +91,7 @@ public: /** * Concatenate a string to the end of the path without inserting a * path separator. - * @param p addtional path suffix + * @param p additional path suffix */ void concat( const string& p ); @@ -111,17 +114,19 @@ public: string base() const; /** - * Get the extention part of the path (everything after the final ".") - * @return the extention string + * Get the extension part of the path (everything after the final ".") + * @return the extension string */ string extension() const; - /** Get the path string + /** + * Get the path string * @return path string */ string str() const { return path; } - /** Get the path string + /** + * Get the path string * @return path in "C" string (ptr to char array) form. */ const char* c_str() { return path.c_str(); } @@ -132,6 +137,12 @@ public: */ bool exists() const; + /** + * Create the designated directory. + * @return 0 on success, or <0 on failure. + */ + int create_dir(mode_t mode); + private: void fix(); @@ -139,6 +150,11 @@ private: }; +/** + * Split a directory string into a list of it's parent directories. + */ +string_list sgPathBranchSplit( const string &path ); + /** * Split a directory search path into a vector of individual paths */