replace PIConfig::Entry operators to functions

This commit is contained in:
2020-04-29 17:17:59 +03:00
parent 6a6907b136
commit fda8c61c3f
6 changed files with 46 additions and 46 deletions

View File

@@ -2,9 +2,9 @@ cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(pip)
set(_PIP_MAJOR 1)
set(_PIP_MINOR 13)
set(_PIP_MINOR 14)
set(_PIP_REVISION 0)
set(_PIP_SUFFIX )
set(_PIP_SUFFIX alpha)
set(_PIP_COMPANY SHS)
set(_PIP_DOMAIN org.SHS)

View File

@@ -86,7 +86,7 @@ void PIVariant::setValueFromString(const PIString & v) {
case PIVariant::pivDate: {} break; // TODO
case PIVariant::pivDateTime: {} break; // TODO
case PIVariant::pivString: {setValue(v);} break;
case PIVariant::pivStringList: {setValue(v.split(";"));} break;
case PIVariant::pivStringList: {setValue(v.split("%|%"));} break;
case PIVariant::pivEnum: {PIVariantTypes::Enum r = toEnum(); r.selectName(v); setValue(r);} break;
case PIVariant::pivFile: {PIVariantTypes::File r = toFile(); r.file = v; setValue(r);} break;
case PIVariant::pivDir: {PIVariantTypes::Dir r = toDir(); r.dir = v; setValue(r);} break;

View File

@@ -263,43 +263,43 @@ public:
//! Convertion to boolean
operator bool() {return _value.toBool();}
bool toBool() const {return _value.toBool();}
//! Convertion to char
operator char() {return (_value.isEmpty() ? 0 : _value[0].toAscii());}
char toChar() const {return (_value.isEmpty() ? 0 : _value[0].toAscii());}
//! Convertion to short
operator short() {return _value.toShort();}
short toShort() const {return _value.toShort();}
//! Convertion to int
operator int() {return _value.toInt();}
int toInt() const {return _value.toInt();}
//! Convertion to long
operator long() {return _value.toLong();}
long toLong() const {return _value.toLong();}
//! Convertion to uchar
operator uchar() {return _value.toInt();}
uchar toUChar() const {return _value.toInt();}
//! Convertion to ushort
operator ushort() {return _value.toShort();}
ushort toUShort() const {return _value.toShort();}
//! Convertion to uint
operator uint() {return _value.toInt();}
uint toUInt() const {return _value.toInt();}
//! Convertion to ulong
operator ulong() {return _value.toLong();}
ulong toULong() const {return _value.toLong();}
//! Convertion to float
operator float() {return _value.toFloat();}
float toFloat() const {return _value.toFloat();}
//! Convertion to double
operator double() {return _value.toDouble();}
double toDouble() const {return _value.toDouble();}
//! Convertion to PIString
operator PIString() {return _value;}
PIString toString() const {return _value;}
//! Convertion to PIStringList
operator PIStringList() {return _value.split("%|%");}
PIStringList toStringList() const {return _value.split("%|%");}
private:
typedef PIConfig::Entry * EntryPtr;
@@ -443,7 +443,7 @@ public:
int entryIndex(const PIString & name);
PIString getName(uint number) {return entryByIndex(number)._name;}
PIString getValue(uint number) {return entryByIndex(number)._value;}
PIString getValueByIndex(uint number) {return entryByIndex(number)._value;}
PIChar getType(uint number) {return entryByIndex(number)._type[0];}
PIString getComment(uint number) {return entryByIndex(number)._comment;}
@@ -525,15 +525,15 @@ inline PICout operator <<(PICout s, const PIConfig::Entry & v) {s << v.value();
* from configuration file in implementation \a PIIODevice::configureDevice() function */
template<typename T>
T readDeviceSetting(const PIString & name, const T & def, const PIConfig::Entry * em, const PIConfig::Entry * ep) {
PIVariant v = PIVariant::fromValue<T>(T());
if (ep != 0) {
T ret;
bool ex;
ret = ep->getValue(name, def, &ex);
if (!ex) ret = em->getValue(name, def);
return ret;
v.setValueFromString(ep->getValue(name, def, &ex).toString());
if (!ex) v.setValueFromString(em->getValue(name, def).toString());
return v.value<T>();
}
return em->getValue(name, def);
v.setValueFromString(em->getValue(name, def).toString());
return v.value<T>();
}
#endif // PICONFIG_H

View File

@@ -332,16 +332,16 @@ bool PIIODevice::configure(const PIString & config_file, const PIString & sectio
PIConfig::Entry * ep = 0;
if (parent_section) ep = em.parent();
if (ep != 0) {
setReopenEnabled(ep->getValue("reopenEnabled", isReopenEnabled(), &ex));
if (!ex) setReopenEnabled(em.getValue("reopenEnabled", isReopenEnabled()));
setReopenTimeout(ep->getValue("reopenTimeout", reopenTimeout(), &ex));
if (!ex) setReopenTimeout(em.getValue("reopenTimeout", reopenTimeout()));
setThreadedReadBufferSize(ep->getValue("threadedReadBufferSize", int(threaded_read_buffer_size), &ex));
if (!ex) setThreadedReadBufferSize(em.getValue("threadedReadBufferSize", int(threaded_read_buffer_size)));
setReopenEnabled(ep->getValue("reopenEnabled", isReopenEnabled(), &ex).toBool());
if (!ex) setReopenEnabled(em.getValue("reopenEnabled", isReopenEnabled()).toBool());
setReopenTimeout(ep->getValue("reopenTimeout", reopenTimeout(), &ex).toInt());
if (!ex) setReopenTimeout(em.getValue("reopenTimeout", reopenTimeout()).toInt());
setThreadedReadBufferSize(ep->getValue("threadedReadBufferSize", int(threaded_read_buffer_size), &ex).toInt());
if (!ex) setThreadedReadBufferSize(em.getValue("threadedReadBufferSize", int(threaded_read_buffer_size)).toInt());
} else {
setReopenEnabled(em.getValue("reopenEnabled", isReopenEnabled()));
setReopenTimeout(em.getValue("reopenTimeout", reopenTimeout()));
setThreadedReadBufferSize(em.getValue("threadedReadBufferSize", int(threaded_read_buffer_size)));
setReopenEnabled(em.getValue("reopenEnabled", isReopenEnabled()).toBool());
setReopenTimeout(em.getValue("reopenTimeout", reopenTimeout()).toInt());
setThreadedReadBufferSize(em.getValue("threadedReadBufferSize", int(threaded_read_buffer_size)).toInt());
}
return configureDevice(&em, ep);
}

View File

@@ -858,7 +858,7 @@ bool PIPeer::openDevice() {
"pip.conf"
#endif
, PIIODevice::ReadOnly);
server_ip = conf.getValue("peer_server_ip", "");
server_ip = conf.getValue("peer_server_ip", "").toString();
reinit();
diag_d.reset();
diag_s.reset();

View File

@@ -124,9 +124,9 @@ bool PIConnection::configure(PIConfig & conf, const PIString & name_) {
PIConfig::Entry ce(conf.getValue(name_));
PIConfig::Branch db(ce.getValue("device").children()), fb(ce.getValue("filter").children()),
cb(ce.getValue("channel").children()), sb(ce.getValue("sender").children());
PIStringList dev_list(ce.getValue("device").value());
PIStringList dev_list(ce.getValue("device").toString());
PIStringList name_list(ce.getValue("device").name());
PIStringList flt_list(ce.getValue("filter").value());
PIStringList flt_list(ce.getValue("filter").toString());
piForeachC (PIConfig::Entry * e, db) {
dev_list << e->value();
name_list << e->name();
@@ -156,10 +156,10 @@ bool PIConnection::configure(PIConfig & conf, const PIString & name_) {
setDeviceName(dev, n);
dev->setName(name_ + ".device." + dev_list[i]);
PIConfig::Entry de = ce.getValue("device." + n);
dev->setThreadedReadBufferSize(de.getValue("bufferSize", dev->threadedReadBufferSize()));
dev->setThreadedReadBufferSize(de.getValue("bufferSize", dev->threadedReadBufferSize()).toInt());
PIDiagnostics * diag = diags_.value(dev, 0);
if (diag != 0)
diag->setDisconnectTimeout(de.getValue("disconnectTimeout", diag->disconnectTimeout()));
diag->setDisconnectTimeout(de.getValue("disconnectTimeout", diag->disconnectTimeout()).toFloat());
}
int added(0), padded(-1), tries(0);
bool pdebug = debug();
@@ -224,13 +224,13 @@ bool PIConnection::configure(PIConfig & conf, const PIString & name_) {
}
PIDiagnostics * diag = diags_.value(pe, 0);
if (diag != 0)
diag->setDisconnectTimeout(e->getValue("disconnectTimeout", diag->disconnectTimeout()));
pe->setBufferSize(e->getValue("bufferSize", pe->bufferSize()));
pe->setPayloadSize(e->getValue("payloadSize", pe->payloadSize()));
pe->setPacketSize(e->getValue("packetSize", pe->packetSize()));
pe->setTimeout(e->getValue("timeout", pe->timeout()));
pe->setHeader(PIByteArray::fromUserInput(e->getValue("header", "").value()));
pe->setFooter(PIByteArray::fromUserInput(e->getValue("footer", "").value()));
diag->setDisconnectTimeout(e->getValue("disconnectTimeout", diag->disconnectTimeout()).toFloat());
pe->setBufferSize(e->getValue("bufferSize", pe->bufferSize()).toInt());
pe->setPayloadSize(e->getValue("payloadSize", pe->payloadSize()).toInt());
pe->setPacketSize(e->getValue("packetSize", pe->packetSize()).toInt());
pe->setTimeout(e->getValue("timeout", pe->timeout()).toDouble());
pe->setHeader(PIByteArray::fromUserInput(e->getValue("header", "").toString()));
pe->setFooter(PIByteArray::fromUserInput(e->getValue("footer", "").toString()));
}
}
setDebug(pdebug);
@@ -248,10 +248,10 @@ bool PIConnection::configure(PIConfig & conf, const PIString & name_) {
devs << e2->value();
devs.removeStrings("");
if (devs.isEmpty()) continue;
float freq = e->getValue("frequency");
float freq = e->getValue("frequency").toFloat();
piForeachC (PIString & d, devs)
addSender(e->name(), dev_aliases.value(d, d), freq);
PIByteArray fd(PIByteArray::fromUserInput(e->getValue("fixedData").value()));
PIByteArray fd(PIByteArray::fromUserInput(e->getValue("fixedData").toString()));
setSenderFixedData(e->name(), fd);
}
return true;