X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmisc%2Fsg_path.hxx;h=70f1b6c52b5ee8ca4911813459b12fe795b95df6;hb=2e71b64de1d937e2b7c34dd4a2365be455d0b82a;hp=2921ac27b4a6f5126c7e5fa651f3cc94da5d0cdd;hpb=4eb74a3c93221f0873c8d2ef2e9c2ec0485b08b5;p=simgear.git diff --git a/simgear/misc/sg_path.hxx b/simgear/misc/sg_path.hxx index 2921ac27..70f1b6c5 100644 --- a/simgear/misc/sg_path.hxx +++ b/simgear/misc/sg_path.hxx @@ -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$ @@ -32,12 +31,15 @@ #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 @@ -89,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 ); @@ -112,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(); } @@ -135,8 +139,9 @@ public: /** * Create the designated directory. + * @return 0 on success, or <0 on failure. */ - void create_dir(mode_t mode); + int create_dir(mode_t mode); private: @@ -145,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 */