#include "debugout.h"
#include "listplusplus.h"
-extern "C" AbstractSinkManager * create(AbstractRoutingEngine* routingengine, map<string, string> config)
-{
- return new DBusSinkManager(routingengine, config);
-}
-
+DBusSink::DBusSink(string propertyName, AbstractRoutingEngine* engine, GDBusConnection* connection, map<string, string> config)
+ std::map<std::string, std::string> DBusSink::dbusConfig;
+
-DBusSink::DBusSink(string propertyName, AbstractRoutingEngine* engine, GDBusConnection* connection, map<string, string> config = map<string, string>())
:AbstractDBusInterface("org.automotive."+propertyName, propertyName, connection),
- AbstractSink(engine, config)
+ AbstractSink(engine, dbusConfig)
{
AbstractDBusInterface::re = engine;
{
public:
- DBusSink(std::string objectName, AbstractRoutingEngine* engine, GDBusConnection* connection, map<string, string> config);
+ DBusSink(std::string objectName, AbstractRoutingEngine* engine, GDBusConnection* connection, map<string, string> config = std::map<std::string, std::string>());
- virtual ~DBusSink() {
+ virtual ~DBusSink()
+ {
for(auto i : propertyDBusMap)
{
delete i;
-DBusInterfaceManager::DBusInterfaceManager(AbstractRoutingEngine* engine,std::map<std::string,std::string> config)
- :AbstractSink(engine,config),re(engine), connection(nullptr)
+DBusInterfaceManager::DBusInterfaceManager(AbstractRoutingEngine * engine, std::map<std::string,std::string> config, AbstractSource & parent)
+ :AmbPluginImpl(engine, config, parent), connection(nullptr)
{
+ DBusSink::dbusConfig = config;
+ dbusConnected = addPropertySupport(Zone::None, []() { return new BasicPropertyType<bool>(DBusConnected, false); });
+
ownerId = g_bus_own_name(G_BUS_TYPE_SYSTEM,
DBusServiceName,
G_BUS_NAME_OWNER_FLAGS_NONE,