Changeset 9869 in orxonox.OLD for trunk/src/lib/util/filesys
- Timestamp:
- Oct 3, 2006, 12:19:30 AM (18 years ago)
- Location:
- trunk/src/lib/util/filesys
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/util/filesys/directory.cc
r8523 r9869 41 41 #include <sys/stat.h> 42 42 #include <dirent.h> 43 const char Directory::delimiter = '/'; 43 44 #else 44 45 #include <windows.h> 45 46 #include <winbase.h> 47 const char Direcotry::delimiter = '\\'; 46 48 #endif 47 49 … … 63 65 */ 64 66 Directory::Directory(const Directory& directory) 65 : File(directory)67 : File(directory) 66 68 { 67 69 this->_opened = directory._opened; … … 166 168 #endif 167 169 } 170 171 172 Directory Directory::operator+(const Directory& dir) const 173 { 174 return Directory(*this) += dir; 175 } 176 177 /** 178 * @param dir the Directory to append to this one (say this one is "/var", then dir can be "log") 179 * @returns The Directory appended by dir. 180 * 181 * @note the Directoy will again be closed even if it was opened previously! 182 */ 183 Directory& Directory::operator+=(const Directory& dir) 184 { 185 this->setFileName(this->name() + Directory::delimiter + dir.name()); 186 return *this; 187 } 188 189 /** 190 * @brief Traverses the Directory tree one step up. (Parent Directory) 191 * @returns a Reference to the Directory. 192 */ 193 Directory& Directory::operator--() 194 { 195 } 196 197 198 /** 199 * @brief Traverses the Directory tree one step up. (Parent Directory) 200 * @param int the PostFix iterator 201 * @returns a Reference to the Directory. 202 */ 203 Directory& Directory::operator--(int) 204 { 205 } 206 207 /** 208 * @returns The Parent Directory. 209 */ 210 Directory Directory::parentDir() const 211 { 212 213 } 214 215 File operator+(const Directory& dir, const File& file) 216 { 217 return File(dir.name() + Directory::delimiter + file.name()); 218 } -
trunk/src/lib/util/filesys/directory.h
r8333 r9869 29 29 #include <vector> 30 30 31 //! A Directory is a Special file, that contains multiple Files. 32 /** 33 * @example Correct usage 34 * Directory dir("/var/log"); 35 * dir.open(); 36 * if (dir.fileNameInDir("emerge.log")) 37 * { // do stuff; } 38 */ 31 39 class Directory : public File 32 40 { … … 41 49 bool create(); 42 50 51 Directory operator+(const Directory& dir) const; 52 Directory& operator+=(const Directory& dir); 53 Directory& operator--(); 54 Directory& operator--(int); 55 Directory parentDir() const; 56 57 43 58 /** @returns if the Directory was opened */ 44 59 bool isOpen() const { return this->_opened; } … … 50 65 const std::string& operator[](unsigned int fileNumber) const { return this->_fileNames[fileNumber]; }; 51 66 /** @returns a formated string containing the FileName, prepended with the directory-Name */ 52 std::string fileNameInDir(unsigned int fileNumber) const { return this->name() + "/"+ _fileNames[fileNumber]; };67 std::string fileNameInDir(unsigned int fileNumber) const { return this->name() + Directory::delimiter + _fileNames[fileNumber]; }; 53 68 /** @returns a File pointing to the File @param fileNumber the fileNumber (must not bigger than fileCount()) */ 54 69 File getFile(unsigned int fileNumber) const { return File(fileNameInDir(fileNumber)); }; 70 71 public: 72 static const char delimiter; //!< A Delimiter (*nix: '/', windows: '\\') 55 73 56 74 private: … … 58 76 std::vector<std::string> _fileNames; //!< The List of Files contained in the directory. (will be filled when open was called.) 59 77 }; 78 79 File operator+(const Directory& dir, const File& file); 60 80 61 81 #endif /* __DIRECTORY_H_ */ -
trunk/src/lib/util/filesys/file.cc
r8619 r9869 326 326 } 327 327 328 /** 329 * @brief converts an Absolute Filename to a Relative one 330 * @param absFileName the FileName to convert. The Relative path will be stored in absFileName. 331 */ 328 332 void File::absToRel(std::string& absFileName) 329 333 {
Note: See TracChangeset
for help on using the changeset viewer.