replace PIConfig::Entry operators to functions
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user