00001 00022 #ifndef LL_LLINDRACONFIGFILE_H 00023 #define LL_LLINDRACONFIGFILE_H 00024 00025 #include <string> 00026 #include "linden_common.h" 00027 00028 #include "lllivefile.h" 00029 #include "llsd.h" 00030 00031 00032 // To use, call LLIndraConfigFile::initClass(config_dir); 00033 // Then whenever getConfig is called, it will check and reload automatically 00034 00035 class LLIndraConfigFile : public LLLiveFile 00036 { 00037 public: 00038 LLIndraConfigFile(); 00039 static void initClass(const std::string& config_dir); 00040 static LLSD getConfig(const std::string& config_name); 00041 00042 private: 00043 static std::string filename(); 00044 00045 protected: 00046 /* virtual */ void loadFile(); 00047 LLSD mConfig; 00048 }; 00049 00050 #endif //LL_LLINDRACONFIGFILE_H