From 11d43843c04cc30f97031bbc8547eccc226d7530 Mon Sep 17 00:00:00 2001 From: john30 Date: Sat, 29 Nov 2014 19:03:21 +0100 Subject: [PATCH] renamed a method, pass some class instances as reference --- src/lib/ebus/message.cpp | 16 +++++++--------- src/lib/ebus/message.h | 6 +++--- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/lib/ebus/message.cpp b/src/lib/ebus/message.cpp index ecdfc467..a30a0a6b 100644 --- a/src/lib/ebus/message.cpp +++ b/src/lib/ebus/message.cpp @@ -177,15 +177,13 @@ result_t Message::prepare(const unsigned char srcAddress, SymbolString& masterDa return RESULT_ERR_INVALID_ARG; // prepare not possible } -result_t Message::handle(SymbolString& masterData, SymbolString& slaveData, +result_t Message::decode(SymbolString& masterData, SymbolString& slaveData, ostringstream& output, char separator, bool answer) { - if (m_isActive == true) { - result_t result = m_data->read(masterData, m_id.size() - 2, slaveData, 0, output, false, separator); - if (result != RESULT_OK) - return result; - } - else if (answer == true) { + result_t result = m_data->read(masterData, m_id.size() - 2, slaveData, 0, output, false, separator); + if (result != RESULT_OK) + return result; + if (m_isActive == true && answer == true) { istringstream input; // TODO create input from database of internal variables result_t result = m_data->write(input, masterData, m_id.size() - 2, slaveData, 0, separator); if (result != RESULT_OK) @@ -238,7 +236,7 @@ result_t MessageMap::addFromFile(vector& row, DataFieldTemplates* arg) return result; } -Message* MessageMap::find(const string clazz, const string name, const bool isActive, const bool isSet) +Message* MessageMap::find(const string& clazz, const string& name, const bool isActive, const bool isSet) { string key = clazz; for (int i=0; i<2; i++) { @@ -256,7 +254,7 @@ Message* MessageMap::find(const string clazz, const string name, const bool isAc return NULL; } -Message* MessageMap::find(SymbolString master) { +Message* MessageMap::find(SymbolString& master) { if (master.size() < 5) return NULL; unsigned char maxIdLength = master[4]; diff --git a/src/lib/ebus/message.h b/src/lib/ebus/message.h index a373c668..a36674fd 100644 --- a/src/lib/ebus/message.h +++ b/src/lib/ebus/message.h @@ -141,7 +141,7 @@ public: */ result_t prepare(const unsigned char srcAddress, SymbolString& masterData, istringstream& input, char separator=';'); - result_t handle(SymbolString& masterData, SymbolString& slaveData, + result_t decode(SymbolString& masterData, SymbolString& slaveData, ostringstream& output, char separator=';', bool answer=false); private: @@ -203,14 +203,14 @@ public: * @return the @a Message instance, or NULL. * Note: the caller may not free the returned instance. */ - Message* find(const string clazz, const string name, const bool isActive, const bool isSet); + Message* find(const string& clazz, const string& name, const bool isActive, const bool isSet); /** * @brief Finds the @a Message instance for the specified master data. * @param master the master @a SymbolString for identifying the @a Message. * @return the @a Message instance, or NULL. * Note: the caller may not free the returned instance. */ - Message* find(SymbolString master); + Message* find(SymbolString& master); /** * @brief Removes all @a Message instances. */