#ifndef PICONFIG_H #define PICONFIG_H #include "pifile.h" class PIConfig: public PIFile { public: PIConfig(const PIString & path); ~PIConfig() {;} PIString getValue(const PIString & vname, const PIString & def = "", bool * exist = 0) const; PIString getValue(const PIString & vname, const char * def = "", bool * exist = 0) const; bool getValue(const PIString & vname, const bool def = false, bool * exist = 0) const; char getValue(const PIString & vname, const char def = 0, bool * exist = 0) const; short getValue(const PIString & vname, const short def = 0, bool * exist = 0) const; int getValue(const PIString & vname, const int def = 0, bool * exist = 0) const; long getValue(const PIString & vname, const long def = 0, bool * exist = 0) const; uchar getValue(const PIString & vname, const uchar def = 0, bool * exist = 0) const; ushort getValue(const PIString & vname, const ushort def = 0, bool * exist = 0) const; uint getValue(const PIString & vname, const uint def = 0, bool * exist = 0) const; ulong getValue(const PIString & vname, const ulong def = 0, bool * exist = 0) const; float getValue(const PIString & vname, const float def = 0., bool * exist = 0) const; double getValue(const PIString & vname, const double def = 0., bool * exist = 0) const; void setValue(const PIString & name, const PIString & value, const PIString & type = "s", bool write = true); void setValue(const PIString & name, const char * value, bool write = true); void setValue(const PIString & name, const bool value, bool write = true); void setValue(const PIString & name, const char value, bool write = true); void setValue(const PIString & name, const short value, bool write = true); void setValue(const PIString & name, const int value, bool write = true); void setValue(const PIString & name, const long value, bool write = true); void setValue(const PIString & name, const uchar value, bool write = true); void setValue(const PIString & name, const ushort value, bool write = true); void setValue(const PIString & name, const uint value, bool write = true); void setValue(const PIString & name, const ulong value, bool write = true); void setValue(const PIString & name, const float value, bool write = true); void setValue(const PIString & name, const double value, bool write = true); PIString getValue(uint number) const {return settval[number];} PIString getName(uint number) const {return settname[number];} PIString getComment(uint number) const {return settcom[number];} void setValue(uint number, const PIString & value, bool write = true); bool existsValue(const PIString & name); char getType(uint number) const {return setttype[number][0];} int getNumber(const PIString & name); void setName(uint number, const PIString & name); void setType(uint number, const PIString & type); void setComment(uint number, const PIString & comment); int numValues() const {return settval.size();} void addLine(const PIString & name, const PIString & value, const PIString & type = "s"); void insertLine(uint number, const PIString & name, const PIString & value, const PIString & type = "s"); void deleteLine(const PIString & name); void deleteLine(uint number); void readAll(); void writeAll(); private: void parse(); vector settname; vector settval; vector settcom; vector setttab; vector setttype; vector all; vector settlines; uint lines; }; #endif // PICONFIG_H