00001 #ifndef filelist_h 00002 #define filelist_h 00003 00004 #include "filelink.h" 00005 00006 00007 class FileList : public FileLink 00008 { 00009 private: 00010 00011 typedef enum ListSort 00012 { 00013 UP, 00014 DOWN, 00015 NONE_LIST 00016 }; 00017 00018 ListSort listsort; 00019 00020 typedef struct File 00021 { 00022 std::string name; 00023 std::string file; 00024 std::string date; 00025 std::string size; 00026 }; 00027 00028 typedef std::list<File> file_list; 00029 typedef file_list::iterator file_list_it; 00030 00031 bool valid_tag; 00032 00033 public: 00034 FileList( Line& line ); 00035 00036 std::string get_link() 00037 { return get_link( current_dir ); } 00038 00039 std::string get_link( std::string current_dir ); 00040 00041 bool operator!() const { return !valid_tag; } 00042 00043 private: 00044 00045 ListSort get_list_sort( std::string s ); 00046 file_list get_files( std::string current_dir ); 00047 00048 }; 00049 00050 #endif