bugfix about AirDistribution
[profile/ivi/automotive-message-broker.git] / lib / abstractpropertytype.cpp
index d964d67..62321bf 100644 (file)
@@ -1,92 +1,34 @@
 #include "abstractpropertytype.h"
 
+const Zone::Type Zone::FrontRight = Zone::Type(Zone::Front | Zone::Right);
+const Zone::Type Zone::FrontLeft = Zone::Type(Zone::Front | Zone::Left);
+const Zone::Type Zone::MiddleRight = Zone::Type(Zone::Middle | Zone::Right);
+const Zone::Type Zone::MiddleLeft = Zone::Type(Zone::Middle | Zone::Left);
+const Zone::Type Zone::RearRight = Zone::Type(Zone::Rear | Zone::Right);
+const Zone::Type Zone::RearLeft = Zone::Type(Zone::Rear | Zone::Left);
 
-void ListPropertyType::append(AbstractPropertyType *property)
-{
-       mList.push_back(property->copy());
-}
-
-
-ListPropertyType::ListPropertyType()
-{
-
-}
-
-ListPropertyType::ListPropertyType(int)
-{
-
-}
 
-ListPropertyType::ListPropertyType(ListPropertyType &other)
+const picojson::value AbstractPropertyType::toJson()
 {
-       std::list<AbstractPropertyType*> l = other.list();
-       for(auto itr = l.begin(); itr != l.end(); itr++)
-       {
-               append(*itr);
-       }
-}
-
+       picojson::object obj;
 
-ListPropertyType::~ListPropertyType()
-{
+       obj["name"] = picojson::value(name);
+       obj["alias"] = picojson::value(alias());
+       obj["source"] = picojson::value(sourceUuid);
+       obj["zone"] = picojson::value((double)zone);
+       obj["timestamp"] = picojson::value(timestamp);
+       obj["sequence"] = picojson::value((double)sequence);
+       obj["type"] = picojson::value(amb::BasicTypes::fromAbstractProperty(this));
 
+       return picojson::value(obj);
 }
 
-
-uint ListPropertyType::count()
+void AbstractPropertyType::fromJson(const picojson::value &json)
 {
-       return mList.size();
-}
-
-
-AbstractPropertyType *ListPropertyType::copy()
-{
-       return new ListPropertyType(*this);
-}
-
-
-std::string ListPropertyType::toString() const
-{
-       std::string str = "[";
-
-       for(auto itr = mList.begin(); itr != mList.end(); itr++)
-       {
-               if(str != "[")
-                       str += ",";
-
-               AbstractPropertyType* t = *itr;
-
-               str += t->toString();
-       }
-
-       str += "]";
-
-       return str;
-}
-
-
-void ListPropertyType::fromString(std::string)
-{
-       /// TODO: try to use VehicleProperty::getPropertyType... here
-}
-
-
-GVariant *ListPropertyType::toVariant()
-{
-       GVariantBuilder params;
-       g_variant_builder_init(&params,G_VARIANT_TYPE_ARRAY);
-
-       for(auto itr = mList.begin(); itr != mList.end(); itr++)
-       {
-               AbstractPropertyType* t;
-               g_variant_builder_add_value(&params, t->toVariant());
-       }
-
-       return g_variant_builder_end(&params);
-}
-
-
-void ListPropertyType::fromVariant(GVariant *v)
-{
-
+       name = json.get("name").to_str();
+       mAlias = json.get("alias").to_str();
+       sourceUuid = json.get("source").to_str();
+       zone = json.get("zone").get<double>();
+       timestamp = json.get("timestamp").get<double>();
+       sequence = json.get("sequence").get<double>();
 }