00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _DIRECTORY_H
00010 #define _DIRECTORY_H
00011
00012
00013 #include <string>
00014 #include <list>
00015 #include <iterator>
00016 #include "ComPlusPlus/DirEntry.h"
00017 #include "SysPlusPlus/ComException.h"
00018
00019 namespace compp {
00020
00021 class Directory {
00022
00023 public:
00024 Directory();
00025 Directory( const std::string & Path, const std::string & Filter = "" );
00026
00027 virtual ~Directory();
00028
00029 void setPath( const std::string & Path, const std::string & Filter = "" );
00030 std::list<compp::DirEntry>::iterator getFirst();
00031 std::list<compp::DirEntry>::iterator end();
00032 void Refresh();
00033 void SortName();
00034 void setSortAsc();
00035 void setSortDesc();
00036
00037 protected:
00038 std::list<compp::DirEntry> DirectoryList;
00039 std::list<compp::DirEntry>::iterator DirectoryIrritator;
00040 bool SortModesAsc;
00041
00042 void CreateListing(const std::string & s, const std::string & Filter = "");
00043 std::string DirPath;
00044
00045 };
00046
00047 }
00048 #endif
00049