bluemonkey set default values
authorKevron Rees <kevron.m.rees@intel.com>
Mon, 10 Nov 2014 20:20:49 +0000 (12:20 -0800)
committerKevron Rees <kevron.m.rees@intel.com>
Mon, 10 Nov 2014 20:20:49 +0000 (12:20 -0800)
examples/bluemonkey/bluemonkeyconfig.in
plugins/bluemonkey/bluemonkey.cpp
plugins/bluemonkey/bluemonkey.h
plugins/common/ambpluginimpl.cpp

index 64f299c..0ba2c81 100644 (file)
@@ -12,6 +12,9 @@
 
     {
       "path" : "@PLUGIN_INSTALL_PATH@/examplesinkplugin.so"
+    },
+    {
+      "path" : "@PLUGIN_INSTALL_PATH@/dbussinkplugin.so"
     }
   ]
 }
index 3b820c0..632f26f 100644 (file)
@@ -322,13 +322,12 @@ void BluemonkeySink::getHistory(QStringList properties, QDateTime begin, QDateTi
        routingEngine->getRangePropertyAsync(request);
 }
 
-void BluemonkeySink::createCustomProperty(QString name, QJSValue defaultValue, int zone = Zone::None)
+void BluemonkeySink::createCustomProperty(QString name, QJSValue defaultValue, int zone)
 {
+       QVariant var = defaultValue.toVariant();
 
-       auto create = [defaultValue, name]() -> AbstractPropertyType*
+       auto create = [defaultValue, name, var]() -> AbstractPropertyType*
        {
-               QVariant var = defaultValue.toVariant();
-
                if(!var.isValid())
                        return nullptr;
 
@@ -343,13 +342,18 @@ void BluemonkeySink::createCustomProperty(QString name, QJSValue defaultValue, i
                else if(var.type() == QVariant::String)
                        return new StringPropertyType(name.toStdString(), var.toString().toStdString());
 
-
                return nullptr;
        };
 
        addPropertySupport(zone, create);
 
+       AsyncSetPropertyRequest request;
+       request.property = name.toStdString();
+       request.zoneFilter = zone;
+       request.value = VehicleProperty::getPropertyTypeForPropertyNameValue(name.toStdString(), var.toString().toStdString());
+
        routingEngine->updateSupported(supported(), PropertyList(), &source);
+       routingEngine->setProperty(request);
 }
 
 
index 2a08856..99cbf63 100644 (file)
@@ -141,6 +141,11 @@ public Q_SLOTS:
                mSilentMode = m;
        }
 
+       void createCustomProperty(QString name, QJSValue defaultValue)
+       {
+               createCustomProperty(name, defaultValue, Zone::None);
+       }
+
        void createCustomProperty(QString name, QJSValue defaultValue, int zone);
 
 private:
index c956dd3..66f6ee6 100644 (file)
@@ -154,7 +154,8 @@ std::shared_ptr<AbstractPropertyType> AmbPluginImpl::addPropertySupport(Zone::Ty
        {
                registeredType = VehicleProperty::registerProperty(name, typeFactory);
        }
-       if(!registeredType){ // Property type wasn't registered by us. Is it predefined in AMB API or some other source plug-in has already registered it ???
+       if(!registeredType)
+       { // Property type wasn't registered by us. Is it predefined in AMB API or some other source plug-in has already registered it ???
                std::shared_ptr<AbstractPropertyType> registeredPropertyType(VehicleProperty::getPropertyTypeForPropertyNameValue(name));
                if(!registeredPropertyType)
                        return nullptr;