[AMBClient] - somewhat working json protocol engine
[profile/ivi/automotive-message-broker.git] / lib / abstractpropertytype.cpp
1 #include "abstractpropertytype.h"
2
3 const Zone::Type Zone::FrontRight = Zone::Type(Zone::Front | Zone::Right);
4 const Zone::Type Zone::FrontLeft = Zone::Type(Zone::Front | Zone::Left);
5 const Zone::Type Zone::MiddleRight = Zone::Type(Zone::Middle | Zone::Right);
6 const Zone::Type Zone::MiddleLeft = Zone::Type(Zone::Middle | Zone::Left);
7 const Zone::Type Zone::RearRight = Zone::Type(Zone::Rear | Zone::Right);
8 const Zone::Type Zone::RearLeft = Zone::Type(Zone::Rear | Zone::Left);
9
10
11 const picojson::value AbstractPropertyType::toJson()
12 {
13         picojson::object obj;
14
15         obj["name"] = picojson::value(name);
16         obj["alias"] = picojson::value(alias());
17         obj["source"] = picojson::value(sourceUuid);
18         obj["zone"] = picojson::value((double)zone);
19         obj["timestamp"] = picojson::value(timestamp);
20         obj["sequence"] = picojson::value((double)sequence);
21         obj["type"] = picojson::value(amb::BasicTypes::fromAbstractProperty(this));
22
23         return picojson::value(obj);
24 }
25
26 void AbstractPropertyType::fromJson(const picojson::value &json)
27 {
28         name = json.get("name").to_str();
29         mAlias = json.get("alias").to_str();
30         sourceUuid = json.get("source").to_str();
31         zone = json.get("zone").get<double>();
32         timestamp = json.get("timestamp").get<double>();
33         sequence = json.get("sequence").get<double>();
34 }