[SECARSP-269] Policies state handler for device agent implemented. Tizen ID used...
[platform/core/security/suspicious-activity-monitor.git] / device-agent / communication / src / reportcomposer.cpp
1 /**
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.
5  */
6 /**
7  * @file   reportcomposer.cpp
8  * @brief  Report composer helper
9  * @date   Created Feb 14, 2018
10  * @author Mail to: <A HREF="mailto:d.lomtev@samsung.com">Dmytro Lomtev, d.lomtev@samsung.com</A>
11  */
12
13 #include <jsoncpp/json/writer.h>
14 #include "reportcomposer.h"
15
16 namespace NetworkManager
17 {
18
19 ReportComposer::ReportComposer(): root()
20 {
21     root["type"] = std::string{"report"};
22     root["data"] = Json::Value(Json::arrayValue);
23 }
24
25 void ReportComposer::addEvent(const ReportEvent& event)
26 {
27     Json::Value item;
28     item["module"] = event.first;
29     item["log"] = event.second;
30
31     root["data"].append(item);
32 }
33
34 std::string ReportComposer::str()
35 {
36     Json::FastWriter writer;
37     return writer.write(root);
38 }
39
40 const Json::Value& ReportComposer::get()
41 {
42     return root;
43 }
44
45 } // namespace NetworkManager