code style
This commit is contained in:
@@ -308,7 +308,8 @@ bool GrabbedMessage::dump(bool unknown, MessageMap* messages, bool first, Output
|
|||||||
}
|
}
|
||||||
for (const auto& it : *types) {
|
for (const auto& it : *types) {
|
||||||
const DataType* baseType = it.second;
|
const DataType* baseType = it.second;
|
||||||
if ((baseType->getBitCount() % 8) != 0 || baseType->isIgnored() || baseType->hasFlag(DUP)) { // skip bit and ignored types
|
if ((baseType->getBitCount() % 8) != 0 || baseType->isIgnored() || baseType->hasFlag(DUP)) {
|
||||||
|
// skip bit and ignored types
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
size_t maxLength = baseType->getBitCount()/8;
|
size_t maxLength = baseType->getBitCount()/8;
|
||||||
|
|||||||
+4
-4
@@ -1046,7 +1046,8 @@ result_t loadScanConfigFile(MessageMap* messages, symbol_t address, bool verbose
|
|||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
size_t field = 0;
|
size_t field = 0;
|
||||||
bool fromLocal = s_configUriPrefix.empty();
|
bool fromLocal = s_configUriPrefix.empty();
|
||||||
result_t result = (*identFields)[field]->read(data, offset, false, nullptr, -1, OF_NONE, -1, &out); // manufacturer name
|
// manufacturer name
|
||||||
|
result_t result = (*identFields)[field]->read(data, offset, false, nullptr, -1, OF_NONE, -1, &out);
|
||||||
if (result == RESULT_ERR_NOTFOUND && fromLocal) {
|
if (result == RESULT_ERR_NOTFOUND && fromLocal) {
|
||||||
result = (*identFields)[field]->read(data, offset, false, nullptr, -1, OF_NUMERIC, -1, &out); // manufacturer name
|
result = (*identFields)[field]->read(data, offset, false, nullptr, -1, OF_NUMERIC, -1, &out); // manufacturer name
|
||||||
}
|
}
|
||||||
@@ -1263,7 +1264,7 @@ int main(int argc, char* argv[]) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (size_t i=0; i<len; i++) {
|
for (size_t i=0; i<len; i++) {
|
||||||
envopt[i] = (char)tolower(start[i]);
|
envopt[i] = static_cast<char>(tolower(start[i]));
|
||||||
}
|
}
|
||||||
envopt[len] = 0;
|
envopt[len] = 0;
|
||||||
if (strcmp(envopt, "version") == 0 || strcmp(envopt, "image") == 0 || strcmp(envopt, "arch") == 0
|
if (strcmp(envopt, "version") == 0 || strcmp(envopt, "image") == 0 || strcmp(envopt, "arch") == 0
|
||||||
@@ -1398,8 +1399,7 @@ int main(int argc, char* argv[]) {
|
|||||||
: opt.initialScan == BROADCAST ? " with broadcast scan" : opt.initialScan == SYN ? " with full scan"
|
: opt.initialScan == BROADCAST ? " with broadcast scan" : opt.initialScan == SYN ? " with full scan"
|
||||||
: " with single scan" : "",
|
: " with single scan" : "",
|
||||||
device->isEnhancedProto() ? " enhanced" : "",
|
device->isEnhancedProto() ? " enhanced" : "",
|
||||||
device->getName()
|
device->getName());
|
||||||
);
|
|
||||||
|
|
||||||
// load configuration files
|
// load configuration files
|
||||||
loadConfigFiles(s_messageMap);
|
loadConfigFiles(s_messageMap);
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
#include "ebusd/mqtthandler.h"
|
#include "ebusd/mqtthandler.h"
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <utility>
|
||||||
#include "lib/utils/log.h"
|
#include "lib/utils/log.h"
|
||||||
#include "lib/ebus/symbol.h"
|
#include "lib/ebus/symbol.h"
|
||||||
|
|
||||||
@@ -64,7 +66,8 @@ static const struct argp_option g_mqtt_argp_options[] = {
|
|||||||
{"mqttpass", O_PASS, "PASSWORD", 0, "Use PASSWORD when connecting to MQTT broker (no default)", 0 },
|
{"mqttpass", O_PASS, "PASSWORD", 0, "Use PASSWORD when connecting to MQTT broker (no default)", 0 },
|
||||||
{"mqtttopic", O_TOPI, "TOPIC", 0,
|
{"mqtttopic", O_TOPI, "TOPIC", 0,
|
||||||
"Use MQTT TOPIC (prefix before /%circuit/%name or complete format) [ebusd]", 0 },
|
"Use MQTT TOPIC (prefix before /%circuit/%name or complete format) [ebusd]", 0 },
|
||||||
{"mqttglobal", O_GTOP, "TOPIC", 0, "Use TOPIC for global data (default is \"global/\" suffix to mqtttopic prefix)", 0 },
|
{"mqttglobal", O_GTOP, "TOPIC", 0,
|
||||||
|
"Use TOPIC for global data (default is \"global/\" suffix to mqtttopic prefix)", 0 },
|
||||||
{"mqttretain", O_RETA, nullptr, 0, "Retain all topics instead of only selected global ones", 0 },
|
{"mqttretain", O_RETA, nullptr, 0, "Retain all topics instead of only selected global ones", 0 },
|
||||||
{"mqttqos", O_PQOS, "QOS", 0, "Set the QoS value for all topics (0-2) [0]", 0 },
|
{"mqttqos", O_PQOS, "QOS", 0, "Set the QoS value for all topics (0-2) [0]", 0 },
|
||||||
{"mqttint", O_INTF, "FILE", 0, "Read MQTT integration settings from FILE (no default)", 0 },
|
{"mqttint", O_INTF, "FILE", 0, "Read MQTT integration settings from FILE (no default)", 0 },
|
||||||
@@ -381,7 +384,7 @@ std::pair<string, int> makeField(const string& name, bool isField) {
|
|||||||
if (!isField) {
|
if (!isField) {
|
||||||
return {name, -1};
|
return {name, -1};
|
||||||
}
|
}
|
||||||
for (int idx = 0; idx < (int)knownFieldCount; idx++) {
|
for (int idx = 0; idx < static_cast<int>(knownFieldCount); idx++) {
|
||||||
if (name == knownFieldNames[idx]) {
|
if (name == knownFieldNames[idx]) {
|
||||||
return {name, idx};
|
return {name, idx};
|
||||||
}
|
}
|
||||||
@@ -1172,7 +1175,7 @@ void MqttHandler::notifyConnected() {
|
|||||||
if (!m_staticTopic) {
|
if (!m_staticTopic) {
|
||||||
check(mosquitto_subscribe(m_mosquitto, nullptr, m_subscribeTopic.c_str(), 0), "subscribe");
|
check(mosquitto_subscribe(m_mosquitto, nullptr, m_subscribeTopic.c_str(), 0), "subscribe");
|
||||||
if (!m_subscribeConfigRestartTopic.empty()) {
|
if (!m_subscribeConfigRestartTopic.empty()) {
|
||||||
check(mosquitto_subscribe(m_mosquitto, nullptr, m_subscribeConfigRestartTopic.c_str(), 0), "subscribe definition");
|
check(mosquitto_subscribe(m_mosquitto, nullptr, m_subscribeConfigRestartTopic.c_str(), 0), "subscribe def.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1388,7 +1391,8 @@ void MqttHandler::run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_connected && m_definitionsSince == 0) {
|
if (m_connected && m_definitionsSince == 0) {
|
||||||
publishDefinition(m_replacers, "def_global_running-", m_globalTopic.get("", "running"), "global", "running", "def_global-");
|
publishDefinition(m_replacers, "def_global_running-", m_globalTopic.get("", "running"), "global", "running",
|
||||||
|
"def_global-");
|
||||||
if (globalHasName) {
|
if (globalHasName) {
|
||||||
publishDefinition(m_replacers, "def_global_version-", m_globalTopic.get("", "version"), "global", "version",
|
publishDefinition(m_replacers, "def_global_version-", m_globalTopic.get("", "version"), "global", "version",
|
||||||
"def_global-");
|
"def_global-");
|
||||||
@@ -1523,10 +1527,10 @@ void MqttHandler::run() {
|
|||||||
if (dt->getMinMax(false, OF_NONE, &ostr) == RESULT_OK) {
|
if (dt->getMinMax(false, OF_NONE, &ostr) == RESULT_OK) {
|
||||||
values.set("min", ostr.str());
|
values.set("min", ostr.str());
|
||||||
ostr.str("");
|
ostr.str("");
|
||||||
};
|
}
|
||||||
if (dt->getMinMax(true, OF_NONE, &ostr) == RESULT_OK) {
|
if (dt->getMinMax(true, OF_NONE, &ostr) == RESULT_OK) {
|
||||||
values.set("max", ostr.str());
|
values.set("max", ostr.str());
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
if (!m_typeSwitches.empty()) {
|
if (!m_typeSwitches.empty()) {
|
||||||
values.reduce(true);
|
values.reduce(true);
|
||||||
@@ -1763,7 +1767,8 @@ void MqttHandler::publishMessage(const Message* message, ostringstream* updates,
|
|||||||
if (json) {
|
if (json) {
|
||||||
*updates << "{";
|
*updates << "{";
|
||||||
if (m_staticTopic) {
|
if (m_staticTopic) {
|
||||||
*updates << "\"circuit\":\"" << message->getCircuit() << "\",\"name\":\"" << message->getName() << "\",\"fields\":{";
|
*updates << "\"circuit\":\"" << message->getCircuit() << "\",\"name\":\"" << message->getName()
|
||||||
|
<< "\",\"fields\":{";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*updates << message->getCircuit() << UI_FIELD_SEPARATOR << message->getName() << UI_FIELD_SEPARATOR;
|
*updates << message->getCircuit() << UI_FIELD_SEPARATOR << message->getName() << UI_FIELD_SEPARATOR;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
#include "ebusd/datahandler.h"
|
#include "ebusd/datahandler.h"
|
||||||
#include "ebusd/bushandler.h"
|
#include "ebusd/bushandler.h"
|
||||||
#include "lib/ebus/message.h"
|
#include "lib/ebus/message.h"
|
||||||
|
|||||||
@@ -130,8 +130,8 @@ void AttributedItem::mergeAttributes(map<string, string>* attributes) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AttributedItem::dumpAttribute(bool prependFieldSeparator, OutputFormat outputFormat, const string& name, ostream* output)
|
void AttributedItem::dumpAttribute(bool prependFieldSeparator, OutputFormat outputFormat, const string& name,
|
||||||
const {
|
ostream* output) const {
|
||||||
if (outputFormat & OF_JSON) {
|
if (outputFormat & OF_JSON) {
|
||||||
appendJson(prependFieldSeparator, name, getAttribute(name), false, output);
|
appendJson(prependFieldSeparator, name, getAttribute(name), false, output);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+2
-2
@@ -426,12 +426,12 @@ class SingleDataField : public DataField {
|
|||||||
size_t getCount(PartType partType = pt_any, const char* fieldName = nullptr) const override;
|
size_t getCount(PartType partType = pt_any, const char* fieldName = nullptr) const override;
|
||||||
|
|
||||||
// @copydoc
|
// @copydoc
|
||||||
virtual string getName(ssize_t fieldIndex) const override {
|
string getName(ssize_t fieldIndex) const override {
|
||||||
return isIgnored() || fieldIndex > 0 ? "" : m_name;
|
return isIgnored() || fieldIndex > 0 ? "" : m_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @copydoc
|
// @copydoc
|
||||||
virtual const SingleDataField* getField(ssize_t fieldIndex) const override {
|
const SingleDataField* getField(ssize_t fieldIndex) const override {
|
||||||
if (isIgnored() || fieldIndex > 0) {
|
if (isIgnored() || fieldIndex > 0) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -437,8 +437,8 @@ class NumberDataType : public DataType {
|
|||||||
NumberDataType(const string& id, size_t bitCount, uint16_t flags, unsigned int replacement,
|
NumberDataType(const string& id, size_t bitCount, uint16_t flags, unsigned int replacement,
|
||||||
unsigned int minValue, unsigned int maxValue, int divisor,
|
unsigned int minValue, unsigned int maxValue, int divisor,
|
||||||
const NumberDataType* baseType = nullptr)
|
const NumberDataType* baseType = nullptr)
|
||||||
: DataType(id, bitCount, flags|NUM, replacement), m_minValue(minValue), m_maxValue(maxValue), m_divisor(divisor==0 ? 1 : divisor),
|
: DataType(id, bitCount, flags|NUM, replacement), m_minValue(minValue), m_maxValue(maxValue),
|
||||||
m_precision(calcPrecision(divisor)), m_firstBit(0), m_baseType(baseType) {}
|
m_divisor(divisor == 0 ? 1 : divisor), m_precision(calcPrecision(divisor)), m_firstBit(0), m_baseType(baseType) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new instance for less than 8 bits.
|
* Constructs a new instance for less than 8 bits.
|
||||||
@@ -452,8 +452,8 @@ class NumberDataType : public DataType {
|
|||||||
*/
|
*/
|
||||||
NumberDataType(const string& id, size_t bitCount, uint16_t flags, unsigned int replacement,
|
NumberDataType(const string& id, size_t bitCount, uint16_t flags, unsigned int replacement,
|
||||||
int16_t firstBit, int divisor, const NumberDataType* baseType = nullptr)
|
int16_t firstBit, int divisor, const NumberDataType* baseType = nullptr)
|
||||||
: DataType(id, bitCount, flags|NUM, replacement), m_minValue(0), m_maxValue((1 << bitCount)-1), m_divisor(divisor==0 ? 1 : divisor),
|
: DataType(id, bitCount, flags|NUM, replacement), m_minValue(0), m_maxValue((1 << bitCount)-1),
|
||||||
m_precision(0), m_firstBit(firstBit), m_baseType(baseType) {}
|
m_divisor(divisor == 0 ? 1 : divisor), m_precision(0), m_firstBit(firstBit), m_baseType(baseType) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor.
|
* Destructor.
|
||||||
|
|||||||
@@ -79,8 +79,8 @@ namespace ebusd {
|
|||||||
Device::Device(const char* name, bool checkDevice, unsigned int latency, bool readOnly, bool initialSend,
|
Device::Device(const char* name, bool checkDevice, unsigned int latency, bool readOnly, bool initialSend,
|
||||||
bool enhancedProto)
|
bool enhancedProto)
|
||||||
: m_name(name), m_checkDevice(checkDevice),
|
: m_name(name), m_checkDevice(checkDevice),
|
||||||
m_latency(HOST_LATENCY_MS+(enhancedProto?ENHANCED_LATENCY_MS:0)+latency), m_readOnly(readOnly), m_initialSend(initialSend),
|
m_latency(HOST_LATENCY_MS+(enhancedProto?ENHANCED_LATENCY_MS:0)+latency), m_readOnly(readOnly),
|
||||||
m_enhancedProto(enhancedProto), m_fd(-1), m_listener(nullptr), m_arbitrationMaster(SYN),
|
m_initialSend(initialSend), m_enhancedProto(enhancedProto), m_fd(-1), m_listener(nullptr), m_arbitrationMaster(SYN),
|
||||||
m_arbitrationCheck(false), m_bufSize(((MAX_LEN+1+3)/4)*4), m_bufLen(0), m_bufPos(0),
|
m_arbitrationCheck(false), m_bufSize(((MAX_LEN+1+3)/4)*4), m_bufLen(0), m_bufPos(0),
|
||||||
m_extraFatures(0), m_infoId(0xff), m_infoLen(0), m_infoPos(0) {
|
m_extraFatures(0), m_infoId(0xff), m_infoLen(0), m_infoPos(0) {
|
||||||
m_buffer = reinterpret_cast<symbol_t*>(malloc(m_bufSize));
|
m_buffer = reinterpret_cast<symbol_t*>(malloc(m_bufSize));
|
||||||
@@ -613,7 +613,8 @@ bool Device::read(symbol_t* value, bool isAvailable, ArbitrationState* arbitrati
|
|||||||
ostringstream stream;
|
ostringstream stream;
|
||||||
switch ((m_infoLen << 8) | m_infoId) {
|
switch ((m_infoLen << 8) | m_infoId) {
|
||||||
case 0x0200:
|
case 0x0200:
|
||||||
stream << "firmware " << static_cast<unsigned>(m_infoBuf[0]) << "." << std::hex << static_cast<unsigned>(m_infoBuf[1]);
|
stream << "firmware " << static_cast<unsigned>(m_infoBuf[0]) << "." << std::hex
|
||||||
|
<< static_cast<unsigned>(m_infoBuf[1]);
|
||||||
break;
|
break;
|
||||||
case 0x0901:
|
case 0x0901:
|
||||||
case 0x0802:
|
case 0x0802:
|
||||||
@@ -640,8 +641,9 @@ bool Device::read(symbol_t* value, bool isAvailable, ArbitrationState* arbitrati
|
|||||||
m_enhInfoBusVoltage = stream.str();
|
m_enhInfoBusVoltage = stream.str();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
stream << "unknown 0x" << std::hex << std::setfill('0') << std::setw(2) << static_cast<unsigned>(m_infoId)
|
stream << "unknown 0x" << std::hex << std::setfill('0') << std::setw(2)
|
||||||
<< ", len " << std::dec << std::setw(0) << static_cast<unsigned>(m_infoPos);
|
<< static_cast<unsigned>(m_infoId) << ", len " << std::dec << std::setw(0)
|
||||||
|
<< static_cast<unsigned>(m_infoPos);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
m_listener->notifyStatus(false, ("extra info: "+stream.str()).c_str());
|
m_listener->notifyStatus(false, ("extra info: "+stream.str()).c_str());
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
#include <string>
|
||||||
#include "lib/ebus/result.h"
|
#include "lib/ebus/result.h"
|
||||||
#include "lib/ebus/symbol.h"
|
#include "lib/ebus/symbol.h"
|
||||||
|
|
||||||
|
|||||||
+14
-10
@@ -483,11 +483,11 @@ result_t Message::create(const string& filename, const DataFieldTemplates* templ
|
|||||||
}
|
}
|
||||||
Message* message;
|
Message* message;
|
||||||
if (chainIds.size() > 1) {
|
if (chainIds.size() > 1) {
|
||||||
message = new ChainedMessage(filename, useCircuit, level, name, isWrite, *row, srcAddress, dstAddress, id, chainIds,
|
message = new ChainedMessage(filename, useCircuit, level, name, isWrite, *row, srcAddress, dstAddress, id,
|
||||||
chainLengths, data, index == 0, pollPriority, condition);
|
chainIds, chainLengths, data, index == 0, pollPriority, condition);
|
||||||
} else {
|
} else {
|
||||||
message = new Message(filename, useCircuit, level, name, isWrite, isPassive, *row, srcAddress, dstAddress, id, data,
|
message = new Message(filename, useCircuit, level, name, isWrite, isPassive, *row, srcAddress, dstAddress, id,
|
||||||
index == 0, pollPriority, condition);
|
data, index == 0, pollPriority, condition);
|
||||||
}
|
}
|
||||||
messages->push_back(message);
|
messages->push_back(message);
|
||||||
index++;
|
index++;
|
||||||
@@ -853,7 +853,8 @@ void Message::dumpHeader(const vector<string>* fieldNames, ostream* output) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Message::dump(const vector<string>* fieldNames, bool withConditions, OutputFormat outputFormat, ostream* output) const {
|
void Message::dump(const vector<string>* fieldNames, bool withConditions, OutputFormat outputFormat, ostream* output)
|
||||||
|
const {
|
||||||
// not to be used together with OF_JSON
|
// not to be used together with OF_JSON
|
||||||
bool first = true;
|
bool first = true;
|
||||||
if (fieldNames == nullptr) {
|
if (fieldNames == nullptr) {
|
||||||
@@ -880,7 +881,8 @@ void Message::dump(const vector<string>* fieldNames, bool withConditions, Output
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Message::dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output) const {
|
void Message::dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output)
|
||||||
|
const {
|
||||||
if (fieldName == "type") {
|
if (fieldName == "type") {
|
||||||
if (withConditions && m_condition != nullptr) {
|
if (withConditions && m_condition != nullptr) {
|
||||||
m_condition->dump(false, output);
|
m_condition->dump(false, output);
|
||||||
@@ -1278,7 +1280,8 @@ result_t ChainedMessage::combineLastParts() {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChainedMessage::dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output) const {
|
void ChainedMessage::dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output)
|
||||||
|
const {
|
||||||
if (fieldName != "id") {
|
if (fieldName != "id") {
|
||||||
Message::dumpField(fieldName, withConditions, outputFormat, output);
|
Message::dumpField(fieldName, withConditions, outputFormat, output);
|
||||||
return;
|
return;
|
||||||
@@ -2164,10 +2167,11 @@ result_t MessageMap::readConditions(const string& filename, string* types, strin
|
|||||||
|
|
||||||
bool MessageMap::extractDefaultsFromFilename(const string& filename, map<string, string>* defaults,
|
bool MessageMap::extractDefaultsFromFilename(const string& filename, map<string, string>* defaults,
|
||||||
symbol_t* destAddress, unsigned int* software, unsigned int* hardware) const {
|
symbol_t* destAddress, unsigned int* software, unsigned int* hardware) const {
|
||||||
// check filename to match (glob style with optionals in brackets): ZZ.[ID.][*.][CIRCUIT.[?.]][*.][HW????.][*.][SW????.][*.]csv
|
// check filename to match (glob style with optionals in brackets):
|
||||||
|
// ZZ.[ID.][*.][CIRCUIT.[?.]][*.][HW????.][*.][SW????.][*.]csv
|
||||||
// ZZ is the address, ID is the 5 char identifier (reduced by trailing 0 one by one for finding a match), CIRCUIT is
|
// ZZ is the address, ID is the 5 char identifier (reduced by trailing 0 one by one for finding a match), CIRCUIT is
|
||||||
// the optional circuit name, ? behind the circuit name is the circuit number suffix (when having more than one of these),
|
// the optional circuit name, ? behind the circuit name is the circuit number suffix (when having more than one of
|
||||||
// ???? behind HW is the hardware version, ???? behind SW is the software version
|
// these), ???? behind HW is the hardware version, ???? behind SW is the software version
|
||||||
string ident, circuit, suffix;
|
string ident, circuit, suffix;
|
||||||
unsigned int sw = UINT_MAX, hw = UINT_MAX;
|
unsigned int sw = UINT_MAX, hw = UINT_MAX;
|
||||||
string remain = filename;
|
string remain = filename;
|
||||||
|
|||||||
@@ -586,7 +586,8 @@ class Message : public AttributedItem {
|
|||||||
* @param outputFormat the @a OutputFormat options.
|
* @param outputFormat the @a OutputFormat options.
|
||||||
* @param output the @a ostream to append the formatted value to.
|
* @param output the @a ostream to append the formatted value to.
|
||||||
*/
|
*/
|
||||||
virtual void dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output) const;
|
virtual void dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output)
|
||||||
|
const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decode the message from the last stored data in JSON format.
|
* Decode the message from the last stored data in JSON format.
|
||||||
@@ -767,7 +768,8 @@ class ChainedMessage : public Message {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// @copydoc
|
// @copydoc
|
||||||
void dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output) const override;
|
void dumpField(const string& fieldName, bool withConditions, OutputFormat outputFormat, ostream* output) const
|
||||||
|
override;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -17,11 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "lib/utils/httpclient.h"
|
#include "lib/utils/httpclient.h"
|
||||||
#include "lib/utils/log.h"
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
|
#include "lib/utils/log.h"
|
||||||
|
|
||||||
namespace ebusd {
|
namespace ebusd {
|
||||||
|
|
||||||
@@ -273,7 +273,8 @@ bool HttpClient::parseUrl(const string& url, string* proto, string* host, uint16
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HttpClient::connect(const string& host, const uint16_t port, const bool https, const string& userAgent, const int timeout) {
|
bool HttpClient::connect(const string& host, const uint16_t port, bool https, const string& userAgent,
|
||||||
|
const int timeout) {
|
||||||
disconnect();
|
disconnect();
|
||||||
#ifdef HAVE_SSL
|
#ifdef HAVE_SSL
|
||||||
m_socket = SSLSocket::connect(host, port, https, timeout);
|
m_socket = SSLSocket::connect(host, port, https, timeout);
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ class HttpClient {
|
|||||||
* @param userAgent the optional user agent to send in the request header.
|
* @param userAgent the optional user agent to send in the request header.
|
||||||
* @return true on success, false on connect failure.
|
* @return true on success, false on connect failure.
|
||||||
*/
|
*/
|
||||||
bool connect(const string& host, uint16_t port, const bool https = false, const string& userAgent = "", int timeout = 5);
|
bool connect(const string& host, uint16_t port, bool https = false, const string& userAgent = "", int timeout = 5);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Re-connect to the last specified server.
|
* Re-connect to the last specified server.
|
||||||
|
|||||||
Reference in New Issue
Block a user