From ae018b03997a93f57318f94190c0997574fe778e Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 5 Aug 2009 13:50:48 +0200 Subject: move huge inlines out-of-line Signed-off-by: Denys Vlasenko --- inc/CrashTypesSocket.h | 125 +++---------------------------------------------- 1 file changed, 6 insertions(+), 119 deletions(-) (limited to 'inc/CrashTypesSocket.h') diff --git a/inc/CrashTypesSocket.h b/inc/CrashTypesSocket.h index 45b7b295..df71f4d8 100644 --- a/inc/CrashTypesSocket.h +++ b/inc/CrashTypesSocket.h @@ -23,8 +23,6 @@ #define SOCKETCRASHTYPES_H_ #include "CrashTypes.h" -#include -#include /** * A request GET_CRASH_INFOS has the following form: @@ -72,132 +70,21 @@ #define MESSAGE_CREATE_REPORT "(CREATE_REPORT)" #define MESSAGE_END_MARKER 23 -inline std::string crash_data_to_string(const map_crash_data_t& pCrashData) -{ - std::stringstream sCD; - map_crash_data_t::const_iterator it_cd; - sCD << "(" << pCrashData.size() << ")"; - for(it_cd = pCrashData.begin(); it_cd != pCrashData.end(); it_cd++) - { - sCD << "(" << it_cd->first.length() << ")"; - sCD << it_cd->first; - sCD << "(" << it_cd->second[CD_TYPE].length() << ")"; - sCD << it_cd->second[CD_TYPE]; - sCD << "(" << it_cd->second[CD_EDITABLE].length() << ")"; - sCD << it_cd->second[CD_EDITABLE]; - sCD << "(" << it_cd->second[CD_CONTENT].length() << ")"; - sCD << it_cd->second[CD_CONTENT]; - } - return sCD.str(); -} - -inline std::string crash_infos_to_string(const vector_crash_infos_t& pCrashInfos) -{ - std::stringstream sCI; - unsigned int ii; - for (ii = 0; ii < pCrashInfos.size(); ii++) - { - sCI << crash_data_to_string(pCrashInfos[ii]); - } - return sCI.str(); -} - +std::string crash_infos_to_string(const vector_crash_infos_t& pCrashInfos); +std::string crash_data_to_string(const map_crash_data_t& pCrashData); inline std::string crash_report_to_string(const map_crash_report_t& pCrashReport) { return crash_data_to_string(pCrashReport); } -inline int get_number_from_string(const std::string& pMessage, int& len) -{ - std::string sNumber = ""; - - int ii = 1; - while (pMessage[ii] != ')') - { - sNumber += pMessage[ii]; - ii++; - if (static_cast(ii) >= pMessage.length()) - { - len = ii; - return -1; - } - } - len = ii + 1; - return atoi(sNumber.c_str()); -} - -//TODO: remove constant 4 and place it in a message -inline map_crash_data_t string_to_crash_data(const std::string& pMessage, int& len) -{ - map_crash_data_t ci; - std::string message = pMessage; - int nSize; - std::string sField; - int nField; - int nCount; - std::string name; - int ii; - - nCount = get_number_from_string(message, ii); - if (ii == -1) - { - len = ii; - return ci; - } - message.erase(0, ii); - len = ii; - nField = 0; - while (nField < nCount * 4) - { - nSize = get_number_from_string(message, ii); - if (ii == -1) - { - len += ii; - ci.clear(); - return ci; - } - sField = message.substr(ii, nSize); - message.erase(0, ii + nSize); - len += ii + nSize; - switch(nField % 4) - { - case 0: - name = sField; - break; - default: - ci[name].push_back(sField); - break; - } - nField++; - } - return ci; -} - -inline vector_crash_infos_t string_to_crash_infos(const std::string& pMessage) -{ - vector_crash_infos_t vci; - std::string message = pMessage; - int len; - - while (message != "") - { - map_crash_info_t crash_info = string_to_crash_data(message, len); - if (crash_info.size() == 0) - { - return vci; - } - vci.push_back(crash_info); - message.erase(0, len); - } - return vci; -} +int get_number_from_string(const std::string& pMessage, int& len); +vector_crash_infos_t string_to_crash_infos(const std::string& pMessage); +map_crash_data_t string_to_crash_data(const std::string& pMessage, int& len); inline map_crash_report_t string_to_crash_report(const std::string& pMessage) { int len; - - map_crash_report_t crash_report = string_to_crash_data(pMessage, len); - return crash_report; + return string_to_crash_data(pMessage, len); } #endif /* SOCKETCRASHTYPES_H_ */ -- cgit