00001 00033 #ifndef LL_LLURLWHITELIST_H 00034 #define LL_LLURLWHITELIST_H 00035 00036 #include <list> 00037 00038 class LLUrlWhiteList 00039 { 00040 public: 00041 virtual ~LLUrlWhiteList (); 00042 00043 static void initClass(); 00044 static void cleanupClass(); 00045 static LLUrlWhiteList* getInstance (); 00046 00047 bool load (); 00048 bool save (); 00049 00050 bool clear (); 00051 bool addItem ( const LLString& itemIn, bool saveAfterAdd ); 00052 00053 bool containsMatch ( const LLString& patternIn ); 00054 00055 bool getFirst ( LLString& valueOut ); 00056 bool getNext ( LLString& valueOut ); 00057 00058 private: 00059 LLUrlWhiteList (); 00060 static LLUrlWhiteList* sInstance; 00061 00062 typedef std::vector < LLString > string_list_t ; 00063 00064 bool mLoaded; 00065 const LLString mFilename; 00066 string_list_t mUrlList; 00067 U32 mCurIndex; 00068 }; 00069 00070 #endif // LL_LLURLWHITELIST_H