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 cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(pip) project(pip)
set(_PIP_MAJOR 1) set(_PIP_MAJOR 1)
set(_PIP_MINOR 13) set(_PIP_MINOR 14)
set(_PIP_REVISION 0) set(_PIP_REVISION 0)
set(_PIP_SUFFIX ) set(_PIP_SUFFIX alpha)
set(_PIP_COMPANY SHS) set(_PIP_COMPANY SHS)
set(_PIP_DOMAIN org.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::pivDate: {} break; // TODO
case PIVariant::pivDateTime: {} break; // TODO case PIVariant::pivDateTime: {} break; // TODO
case PIVariant::pivString: {setValue(v);} break; 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::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::pivFile: {PIVariantTypes::File r = toFile(); r.file = v; setValue(r);} break;
case PIVariant::pivDir: {PIVariantTypes::Dir r = toDir(); r.dir = 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 //! Convertion to boolean
operator bool() {return _value.toBool();} bool toBool() const {return _value.toBool();}
//! Convertion to char //! 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 //! Convertion to short
operator short() {return _value.toShort();} short toShort() const {return _value.toShort();}
//! Convertion to int //! Convertion to int
operator int() {return _value.toInt();} int toInt() const {return _value.toInt();}
//! Convertion to long //! Convertion to long
operator long() {return _value.toLong();} long toLong() const {return _value.toLong();}
//! Convertion to uchar //! Convertion to uchar
operator uchar() {return _value.toInt();} uchar toUChar() const {return _value.toInt();}
//! Convertion to ushort //! Convertion to ushort
operator ushort() {return _value.toShort();} ushort toUShort() const {return _value.toShort();}
//! Convertion to uint //! Convertion to uint
operator uint() {return _value.toInt();} uint toUInt() const {return _value.toInt();}
//! Convertion to ulong //! Convertion to ulong
operator ulong() {return _value.toLong();} ulong toULong() const {return _value.toLong();}
//! Convertion to float //! Convertion to float
operator float() {return _value.toFloat();} float toFloat() const {return _value.toFloat();}
//! Convertion to double //! Convertion to double
operator double() {return _value.toDouble();} double toDouble() const {return _value.toDouble();}
//! Convertion to PIString //! Convertion to PIString
operator PIString() {return _value;} PIString toString() const {return _value;}
//! Convertion to PIStringList //! Convertion to PIStringList
operator PIStringList() {return _value.split("%|%");} PIStringList toStringList() const {return _value.split("%|%");}
private: private:
typedef PIConfig::Entry * EntryPtr; typedef PIConfig::Entry * EntryPtr;
@@ -443,7 +443,7 @@ public:
int entryIndex(const PIString & name); int entryIndex(const PIString & name);
PIString getName(uint number) {return entryByIndex(number)._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];} PIChar getType(uint number) {return entryByIndex(number)._type[0];}
PIString getComment(uint number) {return entryByIndex(number)._comment;} 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 */ * from configuration file in implementation \a PIIODevice::configureDevice() function */
template<typename T> template<typename T>
T readDeviceSetting(const PIString & name, const T & def, const PIConfig::Entry * em, const PIConfig::Entry * ep) { 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) { if (ep != 0) {
T ret;
bool ex; bool ex;
ret = ep->getValue(name, def, &ex); v.setValueFromString(ep->getValue(name, def, &ex).toString());
if (!ex) ret = em->getValue(name, def); if (!ex) v.setValueFromString(em->getValue(name, def).toString());
return ret; return v.value<T>();
} }
return em->getValue(name, def); v.setValueFromString(em->getValue(name, def).toString());
return v.value<T>();
} }
#endif // PICONFIG_H #endif // PICONFIG_H

View File

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

View File

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