/* * Oreka -- A media capture and retrieval platform * * Copyright (C) 2005, orecx LLC * * http://www.orecx.com * * This program is free software, distributed under the terms of * the GNU General Public License. * Please refer to http://www.gnu.org/copyleft/gpl.html * */ #include "ace/OS_NS_ctype.h" #include "Utils.h" #include "SingleLineSerializer.h" void SingleLineSerializer::AddString(const char* key, CStdString& value) { CStdString pair; CStdString escapedValue; EscapeSingleLine(value, escapedValue); pair.Format("%s=%s ", key, (PCSTR)escapedValue); m_output += pair; } CStdString SingleLineSerializer::Serialize() { m_deSerialize = false; // Set Serialize mode m_object->Define(this); return m_output; } typedef enum {SingleLineStartState, SingleLineKeyState, SingleLineValueState, SingleLineErrorState} SingleLineState; void SingleLineSerializer::DeSerialize(CStdString& input) { // read string and extract values into map SingleLineState state = SingleLineStartState; CStdString key; CStdString value; // #### Additionally, errorDescription should be converted to Exceptions CStdString errorDescription; input.Trim(); for(unsigned int i=0; i equalsPostion) { result = input.Mid(equalsPostion+1, spacePostion-equalsPostion-1); } else { result = input.Mid(equalsPostion+1, input.GetLength() - equalsPostion - 1); } } result.ToLower(); return result; }