]> git.mxchange.org Git - simgear.git/blobdiff - simgear/misc/sg_path.hxx
Better error reporting for effects
[simgear.git] / simgear / misc / sg_path.hxx
index f843061bb911c32f49360e9d442bfc9ce691096b..70f1b6c52b5ee8ca4911813459b12fe795b95df6 100644 (file)
 // 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$
 
 #include <sys/types.h>
 
 #include <simgear/compiler.h>
-#include STL_STRING
+#include <string>
 
 #include <simgear/math/sg_types.hxx>
 
-SG_USING_STD(string);
+using std::string;
 
 #ifdef _MSC_VER
   typedef int mode_t;
@@ -92,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 );
 
@@ -115,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(); }
@@ -138,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:
 
@@ -148,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
  */