2 * Samsung Ukraine R&D Center (SRK under a contract between)
3 * LLC "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
4 * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License
19 * @file reportcomposer.cpp
20 * @brief Report composer helper
21 * @date Created Feb 14, 2018
22 * @author Mail to: <A HREF="mailto:d.lomtev@samsung.com">Dmytro Lomtev, d.lomtev@samsung.com</A>
25 #include <jsoncpp/json/writer.h>
26 #include "reportcomposer.h"
28 namespace communication
31 ReportComposer::ReportComposer(): root()
33 root["type"] = std::string{"report"};
34 root["data"] = Json::Value(Json::arrayValue);
37 void ReportComposer::addEvent(const ReportEvent& event)
40 item["module"] = event.first;
41 item["log"] = event.second;
43 root["data"].append(item);
46 std::string ReportComposer::str()
48 Json::FastWriter writer;
49 return writer.write(root);
52 const Json::Value& ReportComposer::get()
57 } // namespace communication