1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: Events_InfoMessage.cpp
4 // Created: 16 June 2016
5 // Author: Vitaly SMETANNIKOV
7 #include "Events_InfoMessage.h"
10 #pragma warning(disable : 4996) // for sprintf
13 void Events_InfoMessage::addParameter(double theParam)
16 int n = sprintf(aBuf, "%g", theParam);
17 std::string aStr(aBuf);
18 myParameters.push_back(aStr);
21 void Events_InfoMessage::addParameter(int theParam)
24 int n = sprintf(aBuf, "%d", theParam);
25 std::string aStr(aBuf);
26 myParameters.push_back(aStr);
29 void Events_InfoMessage::send()
31 std::shared_ptr<Events_Message> aMsg(new Events_InfoMessage(*this));
32 Events_Loop::loop()->send(aMsg);
36 std::string insertParameters(const std::string& theString, const std::list<std::string>& theParams)
38 std::string aResult = theString;
39 std::list<std::string>::const_iterator aIt;
43 for (i=1, aIt = theParams.cbegin(); aIt != theParams.cend(); aIt++, i++) {
45 sprintf(aBuf, "%d", i);
46 std::string aCode = std::string("%") + std::string(aBuf);
47 size_t aPos = aResult.find(aCode);
48 if (aPos != std::string::npos) {
49 std::string aFirst = aResult.substr(0, aPos);
50 std::string aLast = aResult.substr(aPos + aCode.length(), std::string::npos);
51 aResult = aFirst + aParam + aLast;
57 std::string Events_InfoMessage::messageString() const
59 return insertParameters(myMessage, myParameters);