From fda8c61c3fd43bba875d51ed5665d5d328fe0917 Mon Sep 17 00:00:00 2001 From: andrey Date: Wed, 29 Apr 2020 17:17:59 +0300 Subject: [PATCH] replace PIConfig::Entry operators to functions --- CMakeLists.txt | 4 +-- src_main/core/pivariant.cpp | 2 +- src_main/io_devices/piconfig.h | 40 +++++++++++++++--------------- src_main/io_devices/piiodevice.cpp | 18 +++++++------- src_main/io_devices/pipeer.cpp | 2 +- src_main/io_utils/piconnection.cpp | 26 +++++++++---------- 6 files changed, 46 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7688a760..ed3df810 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/src_main/core/pivariant.cpp b/src_main/core/pivariant.cpp index 60e9805c..080adecf 100755 --- a/src_main/core/pivariant.cpp +++ b/src_main/core/pivariant.cpp @@ -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; diff --git a/src_main/io_devices/piconfig.h b/src_main/io_devices/piconfig.h index 1ada5827..40e1d808 100755 --- a/src_main/io_devices/piconfig.h +++ b/src_main/io_devices/piconfig.h @@ -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 T readDeviceSetting(const PIString & name, const T & def, const PIConfig::Entry * em, const PIConfig::Entry * ep) { + PIVariant v = PIVariant::fromValue(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(); } - return em->getValue(name, def); - + v.setValueFromString(em->getValue(name, def).toString()); + return v.value(); } #endif // PICONFIG_H diff --git a/src_main/io_devices/piiodevice.cpp b/src_main/io_devices/piiodevice.cpp index 9611ee5a..de3a405b 100755 --- a/src_main/io_devices/piiodevice.cpp +++ b/src_main/io_devices/piiodevice.cpp @@ -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); } diff --git a/src_main/io_devices/pipeer.cpp b/src_main/io_devices/pipeer.cpp index 05600ebd..7c6e6b37 100755 --- a/src_main/io_devices/pipeer.cpp +++ b/src_main/io_devices/pipeer.cpp @@ -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(); diff --git a/src_main/io_utils/piconnection.cpp b/src_main/io_utils/piconnection.cpp index 1046ec01..2f253db3 100644 --- a/src_main/io_utils/piconnection.cpp +++ b/src_main/io_utils/piconnection.cpp @@ -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;