00001 00020 #ifndef __LILOFILE 00021 #define __LILOFILE 00022 00023 #include <string> 00024 #include <vector> 00025 #include "LiloSection.h" 00026 00031 class liloFile 00032 { 00033 public: 00037 string type; 00038 00042 string fname; 00043 00047 string file_contents; 00048 00052 bool use_string; 00053 00057 string comment; 00058 00062 liloOrderedOptions options; 00063 00067 vector<liloSection*> sections; 00068 00073 liloFile(string filename, const string& init_type); 00074 00078 ~liloFile(); 00079 00083 bool parse(); 00084 00088 bool save(const char* filename=NULL); 00089 00093 bool reread(); 00094 00098 void dump(FILE* f); 00099 00105 liloSection* getSectPtr(const YCPPath& path); 00106 00110 YCPBoolean Write(const YCPPath &path, const YCPValue& value, const YCPValue& arg); 00111 00115 YCPValue Read(const YCPPath &path, const YCPValue& arg); 00116 00120 YCPList Dir(const YCPPath& path); 00121 00125 vector<liloSection*>* getVectByName(const YCPPath& path); 00126 00130 int getSectPos(string sectname); 00131 }; 00132 00133 #endif