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;
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);
}
mSilentMode = m;
}
+ void createCustomProperty(QString name, QJSValue defaultValue)
+ {
+ createCustomProperty(name, defaultValue, Zone::None);
+ }
+
void createCustomProperty(QString name, QJSValue defaultValue, int zone);
private:
{
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;