Go to the documentation of this file.00001 #ifndef EPT_DEBTAGS_SOURCEDIR_H
00002 #define EPT_DEBTAGS_SOURCEDIR_H
00003
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <wibble/sys/fs.h>
00028 #include <string>
00029
00030 namespace ept {
00031 namespace debtags {
00032
00033 class Vocabulary;
00034
00038 class SourceDir : public wibble::sys::fs::Directory
00039 {
00040 protected:
00041 enum FileType { SKIP, TAG, VOC, TAGGZ, VOCGZ };
00042
00043
00044
00045 FileType fileType(const std::string& name);
00046
00047 public:
00048 SourceDir(const std::string& path) : Directory(path) {}
00049
00051 time_t timestamp();
00052
00054 time_t vocTimestamp();
00055
00057 time_t tagTimestamp();
00058
00060 template<typename OUT>
00061 void readTags(OUT out);
00062
00067 void readVocabularies(Vocabulary& out);
00068 };
00069
00070 }
00071 }
00072
00073
00074 #endif