73 lines
3.4 KiB
C++
73 lines
3.4 KiB
C++
#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(int number) const {return settval[number];}
|
|
PIString getName(int number) const {return settname[number];}
|
|
PIString getComment(int number) const {return settcom[number];}
|
|
void setValue(int number, const PIString & value, bool write = true);
|
|
bool existsValue(const PIString & name);
|
|
char getType(int number) const {return setttype[number][0];}
|
|
int getNumber(const PIString & name);
|
|
void setName(int number, const PIString & name);
|
|
void setType(int number, const PIString & type);
|
|
void setComment(int number, const PIString & comment);
|
|
int numValues() const {return settval.size();}
|
|
void addLine(const PIString & name, const PIString & value, const PIString & type = "s");
|
|
void insertLine(int number, const PIString & name, const PIString & value, const PIString & type = "s");
|
|
void deleteLine(const PIString & name);
|
|
void deleteLine(int number);
|
|
void readAll();
|
|
void writeAll();
|
|
|
|
private:
|
|
void parse();
|
|
|
|
vector<PIString> settname;
|
|
vector<PIString> settval;
|
|
vector<PIString> settcom;
|
|
vector<PIString> setttab;
|
|
vector<PIString> setttype;
|
|
vector<PIString> all;
|
|
vector<int> settlines;
|
|
int lines;
|
|
|
|
};
|
|
|
|
#endif // PICONFIG_H
|