Go to the documentation of this file.00001
00002
00003
00004
00008
00009 #ifndef vlLgrFilename_H_
00010 #define vlLgrFilename_H_
00011
00012 #include "lgrUtil.h"
00013 #include <vlutil/vlString.h>
00014
00015 namespace MAKLogger
00016 {
00017
00021 class DT_DLL_LGRUTIL DtLgrFilename : public DtString
00022 {
00023 public:
00025 DtLgrFilename();
00026
00028 DtLgrFilename(const char* str);
00029
00031 virtual ~DtLgrFilename();
00032
00034 DtLgrFilename(const DtLgrFilename& orig);
00035
00037 DtLgrFilename& operator=(const DtLgrFilename& orig);
00038 DtLgrFilename& operator=(const DtString& orig);
00039 DtLgrFilename& operator=(const char* orig);
00040
00043 virtual bool absolute() const;
00044 virtual bool relative() const;
00045
00050 virtual void append(DtLgrFilename const& filename);
00051
00057 virtual void prefix(DtLgrFilename const& pathName);
00058
00062 virtual DtString extension() const;
00063
00067 virtual void setExtension(const DtString& extension);
00068
00070 virtual void stripFilename();
00071
00073 virtual void stripPath();
00074
00076 virtual bool isWritable() const;
00077
00079 virtual bool isReadable() const;
00080
00083 virtual unsigned long fileLength() const;
00084
00086 virtual bool exists() const;
00087
00088 public:
00089
00091 static const DtLgrFilename& nullFilename();
00092
00094 static DtLgrFilename stripFilename(const DtLgrFilename& orig);
00095
00097 static DtLgrFilename stripPath(const DtLgrFilename& orig);
00098
00103 static DtLgrFilename combine(const DtLgrFilename& path, const DtLgrFilename& filename);
00104
00106 static char separator();
00107
00108
00109 protected:
00114 void replaceSlashes();
00115
00116 protected:
00117 static const char theSeparator;
00118 };
00119
00120 }
00121
00122 #endif