Files
pip/piconfig.h

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(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<PIString> settname;
vector<PIString> settval;
vector<PIString> settcom;
vector<PIString> setttab;
vector<PIString> setttype;
vector<PIString> all;
vector<uint> settlines;
uint lines;
};
#endif // PICONFIG_H