From 0cb6735cab8943e5d1242cc105b8511dcee43bc9 Mon Sep 17 00:00:00 2001 From: Kevron Rees Date: Thu, 28 Aug 2014 20:00:04 -0700 Subject: [PATCH] fixed frequency option in dbus plugin --- plugins/dbus/dbusinterfacemanager.cpp | 1 + plugins/dbus/dbusplugin.cpp | 8 +++++--- plugins/dbus/dbusplugin.h | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/dbus/dbusinterfacemanager.cpp b/plugins/dbus/dbusinterfacemanager.cpp index 1357244..434afef 100644 --- a/plugins/dbus/dbusinterfacemanager.cpp +++ b/plugins/dbus/dbusinterfacemanager.cpp @@ -236,6 +236,7 @@ on_name_lost (GDBusConnection *connection, const gchar *name, gpointer user_data DBusInterfaceManager::DBusInterfaceManager(AbstractRoutingEngine* engine,std::map config) :AbstractSink(engine,config),re(engine), connection(nullptr) { + DBusSink::dbusConfig = config; ownerId = g_bus_own_name(G_BUS_TYPE_SYSTEM, DBusServiceName, G_BUS_NAME_OWNER_FLAGS_NONE, diff --git a/plugins/dbus/dbusplugin.cpp b/plugins/dbus/dbusplugin.cpp index 1dd00e5..b936e4a 100644 --- a/plugins/dbus/dbusplugin.cpp +++ b/plugins/dbus/dbusplugin.cpp @@ -29,17 +29,19 @@ extern "C" AbstractSinkManager * create(AbstractRoutingEngine* routingengine, ma return new DBusSinkManager(routingengine, config); } +std::map DBusSink::dbusConfig; + DBusSink::DBusSink(string propertyName, AbstractRoutingEngine* engine, GDBusConnection* connection, map config = map()) :AbstractDBusInterface("org.automotive."+propertyName, propertyName, connection), - AbstractSink(engine, config) + AbstractSink(engine, dbusConfig) { AbstractDBusInterface::re = engine; int timeout = 60; - if(config.find("frequency") != config.end()) + if(configuration.find("frequency") != configuration.end()) { - int t = boost::lexical_cast(config["frequency"]); + int t = boost::lexical_cast(configuration["frequency"]); timeout = 1000 / t; } diff --git a/plugins/dbus/dbusplugin.h b/plugins/dbus/dbusplugin.h index 23eb047..290a161 100644 --- a/plugins/dbus/dbusplugin.h +++ b/plugins/dbus/dbusplugin.h @@ -35,7 +35,8 @@ class DBusSink : public AbstractSink, public AbstractDBusInterface public: DBusSink(std::string objectName, AbstractRoutingEngine* engine, GDBusConnection* connection, map config); - virtual ~DBusSink() { + virtual ~DBusSink() + { for(auto i : propertyDBusMap) { delete i; @@ -45,6 +46,8 @@ public: virtual void propertyChanged(AbstractPropertyType *value); virtual const std::string uuid(); + static std::map dbusConfig; + PropertyList wantsProperties() { PropertyList l; -- 2.7.4