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