Salome HOME
a225786f7309341e97477f3f9cfdd3bc35cc90c1
[modules/gde.git] / projects / GDE_API_CPP / api / src / CommandResultTO.cpp
1 #include "CommandResultTO.hpp"
2 #include "JsonFormatter.hpp"
3
4 gde::CommandResultTO::CommandResultTO(const CommandResultTO& cto)
5   : _code(cto._code), _message(cto._message), _data(cto._data)
6 {
7 }
8
9 gde::CommandResultTO
10 gde::CommandResultTO::fromJson(std::string json)
11 {
12   std::cout << "CommandResultTO: " << json << std::endl;
13   Poco::JSON::Object::Ptr object = JsonFormatter::parse(json);
14   int code = JsonFormatter::extract<int>(object, "code");
15   std::string message = JsonFormatter::extract<std::string>(object, "message");
16   std::string data = JsonFormatter::extract<std::string>(object, "data");
17   return CommandResultTO(code, message, data);
18 }
19
20 std::string
21 gde::CommandResultTO::toJson()
22 {
23   Poco::JSON::Object obj;
24   obj.set("code", Poco::Dynamic::Var(_code));
25   obj.set("message", Poco::Dynamic::Var(_message));
26   obj.set("data", Poco::Dynamic::Var(_data));
27
28   return JsonFormatter::stringify(obj);
29 }