00001 // Copyright (c) 2003 - 2004 Marcel Manthe <schneegloeckchen at gmx.li> 00002 // See ../LICENSE.txt for license details. 00003 // 00004 // $Id: expander.h 2 2007-05-16 10:38:27Z eg $ 00005 00006 #ifndef __EXPANDER_H 00007 #define __EXPANDER_H 00008 00009 #include <string> 00010 #include <set> 00011 00012 #include "singleton.h" 00013 00014 using namespace std; 00015 00016 00020 class Expander : public Singleton<Expander>{ 00021 public: 00022 Expander(); 00023 bool queryString (string s); 00024 bool rehash(); 00025 set<string> expands(); 00026 00027 private: 00028 set<string> read(); 00029 bool pathSearch_; 00030 string key_; 00031 string path_; 00032 set<string> paths_; 00033 set<string> expands_; 00034 set<string> pathExpands_; 00035 }; 00036 00037 #endif // __EXPANDER_H