7.12.2010 - bug fixes in PIString, all classes now based on PIString
This commit is contained in:
32
piconfig.cpp
32
piconfig.cpp
@@ -11,7 +11,7 @@ PIConfig::PIConfig(const PIString & path): PIFile(path) {
|
||||
bool PIConfig::getValue(const PIString & vname, const bool def, bool * exist) const {
|
||||
return atob(getValue(vname, btos(def), exist));}
|
||||
char PIConfig::getValue(const PIString & vname, const char def, bool * exist) const {
|
||||
return getValue(vname, PIString(1, def), exist)[0];}
|
||||
return getValue(vname, PIString(def), exist)[0];}
|
||||
short PIConfig::getValue(const PIString & vname, const short def, bool * exist) const {
|
||||
return getValue(vname, itos(def), exist).toShort();}
|
||||
int PIConfig::getValue(const PIString & vname, const int def, bool * exist) const {
|
||||
@@ -59,7 +59,7 @@ void PIConfig::setValue(const PIString & name, const double value, bool write) {
|
||||
|
||||
|
||||
PIString PIConfig::getValue(const PIString & vname, const PIString & def, bool * exist) const {
|
||||
for (int i = 0; i < settname.size(); i++) {
|
||||
for (uint i = 0; i < settname.size(); i++) {
|
||||
if (settname[i] == vname) {
|
||||
if (exist != 0) *exist = true;
|
||||
return settval[i];
|
||||
@@ -84,7 +84,7 @@ void PIConfig::setValue(const PIString & name, const PIString & value, const PIS
|
||||
|
||||
|
||||
bool PIConfig::existsValue(const PIString & name) {
|
||||
for (int i = 0; i < settname.size(); i++)
|
||||
for (uint i = 0; i < settname.size(); i++)
|
||||
if (settname[i] == name) return true;
|
||||
return false;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ void PIConfig::addLine(const PIString & name, const PIString & value, const PISt
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::insertLine(int number, const PIString & name, const PIString & value, const PIString & type) {
|
||||
void PIConfig::insertLine(uint number, const PIString & name, const PIString & value, const PIString & type) {
|
||||
if (number >= settname.size()) {
|
||||
addLine(name, value, type);
|
||||
return;
|
||||
@@ -116,7 +116,7 @@ void PIConfig::insertLine(int number, const PIString & name, const PIString & va
|
||||
setttab.insert(setttab.begin() + number, setttab[number]);
|
||||
setttype.insert(setttype.begin() + number, type);
|
||||
settlines.insert(settlines.begin() + number, settlines[number]);
|
||||
for (int i = number + 1; i < settlines.size(); i++) settlines[i]++;
|
||||
for (uint i = number + 1; i < settlines.size(); i++) settlines[i]++;
|
||||
all.insert(all.begin() + settlines[number], name + " = " + value + " #" + type);
|
||||
flush();
|
||||
writeAll();
|
||||
@@ -124,14 +124,14 @@ void PIConfig::insertLine(int number, const PIString & name, const PIString & va
|
||||
|
||||
|
||||
int PIConfig::getNumber(const PIString & name) {
|
||||
for (int i = 0; i < settname.size(); i++)
|
||||
for (uint i = 0; i < settname.size(); i++)
|
||||
if (settname[i] == name)
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::setValue(int number, const PIString & value, bool write) {
|
||||
void PIConfig::setValue(uint number, const PIString & value, bool write) {
|
||||
PIString tmp = settname[number] + " = " + value + " #" + setttype[number] + " " + settcom[number];
|
||||
settval[number] = value;
|
||||
all[settlines[number]] = tmp;
|
||||
@@ -139,7 +139,7 @@ void PIConfig::setValue(int number, const PIString & value, bool write) {
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::setName(int number, const PIString & name) {
|
||||
void PIConfig::setName(uint number, const PIString & name) {
|
||||
PIString tmp = name + " = " + settval[number] + " #" + setttype[number] + " " + settcom[number];
|
||||
settname[number] = name;
|
||||
all[settlines[number]] = tmp;
|
||||
@@ -147,7 +147,7 @@ void PIConfig::setName(int number, const PIString & name) {
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::setType(int number, const PIString & type) {
|
||||
void PIConfig::setType(uint number, const PIString & type) {
|
||||
PIString tmp = settname[number] + " = " + settval[number] + " #" + type + " " + settcom[number];
|
||||
setttype[number] = type;
|
||||
all[settlines[number]] = tmp;
|
||||
@@ -155,7 +155,7 @@ void PIConfig::setType(int number, const PIString & type) {
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::setComment(int number, const PIString & comment) {
|
||||
void PIConfig::setComment(uint number, const PIString & comment) {
|
||||
PIString tmp = settname[number] + " = " + settval[number] + " #" + setttype[number] + " " + comment;
|
||||
settcom[number] = comment;
|
||||
all[settlines[number]] = tmp;
|
||||
@@ -165,7 +165,7 @@ void PIConfig::setComment(int number, const PIString & comment) {
|
||||
|
||||
void PIConfig::deleteLine(const PIString & name) {
|
||||
bool exist = false;
|
||||
int i;
|
||||
uint i;
|
||||
for (i = 0; i < settname.size(); i++) {
|
||||
if (settname[i] == name) {
|
||||
exist = true;
|
||||
@@ -177,14 +177,14 @@ void PIConfig::deleteLine(const PIString & name) {
|
||||
}
|
||||
|
||||
|
||||
void PIConfig::deleteLine(int number) {
|
||||
void PIConfig::deleteLine(uint number) {
|
||||
settname.erase(settname.begin() + number);
|
||||
settval.erase(settval.begin() + number);
|
||||
settcom.erase(settcom.begin() + number);
|
||||
setttab.erase(setttab.begin() + number);
|
||||
setttype.erase(setttype.begin() + number);
|
||||
all.erase(all.begin() + settlines[number]);
|
||||
for (int i = number; i < settlines.size(); i++) settlines[i]--;
|
||||
for (uint i = number; i < settlines.size(); i++) settlines[i]--;
|
||||
settlines.erase(settlines.begin() + number);
|
||||
writeAll();
|
||||
}
|
||||
@@ -192,8 +192,8 @@ void PIConfig::deleteLine(int number) {
|
||||
|
||||
void PIConfig::writeAll() {
|
||||
clear();
|
||||
int c = 0;
|
||||
for (int i = 0; i < all.size() - 1; i++) {
|
||||
uint c = 0;
|
||||
for (uint i = 0; i < all.size() - 1; i++) {
|
||||
if (c < settlines.size() && c < setttab.size()) {
|
||||
if (settlines[c] == i) {
|
||||
*this << setttab[c];
|
||||
@@ -229,7 +229,7 @@ void PIConfig::parse() {
|
||||
str = readLine();
|
||||
//cout << str << endl;
|
||||
tab = str.left(str.find(str.trimmed().left(1)));
|
||||
str = str.trimmed();
|
||||
str.trim();
|
||||
all.push_back(str);
|
||||
ind = str.find('=');
|
||||
if ((ind > 0) && !(str[0] == '#')) {
|
||||
|
||||
Reference in New Issue
Block a user