2 * This file was generated by the CommonAPI Generators.
3 * Used org.genivi.commonapi.core 2.1.4.qualifier.
4 * Used org.franca.core 0.8.10.201309262002.
6 * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
7 * If a copy of the MPL was not distributed with this file, You can obtain one at
8 * http://mozilla.org/MPL/2.0/.
10 #ifndef COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_
11 #define COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_
13 #include <commonapi/tests/managed/SecondRootStub.h>
16 #if !defined (COMMONAPI_INTERNAL_COMPILATION)
17 #define COMMONAPI_INTERNAL_COMPILATION
20 #include <CommonAPI/DBus/DBusStubAdapterHelper.h>
21 #include <CommonAPI/DBus/DBusStubAdapter.h>
22 #include <CommonAPI/DBus/DBusFactory.h>
23 #include <CommonAPI/DBus/DBusServicePublisher.h>
25 #undef COMMONAPI_INTERNAL_COMPILATION
31 typedef CommonAPI::DBus::DBusStubAdapterHelper<SecondRootStub> SecondRootDBusStubAdapterHelper;
33 class SecondRootDBusStubAdapterInternal: public SecondRootStubAdapter, public SecondRootDBusStubAdapterHelper {
35 SecondRootDBusStubAdapterInternal(
36 const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
37 const std::string& commonApiAddress,
38 const std::string& dbusInterfaceName,
39 const std::string& dbusBusName,
40 const std::string& dbusObjectPath,
41 const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection,
42 const std::shared_ptr<CommonAPI::StubBase>& stub);
44 ~SecondRootDBusStubAdapterInternal();
48 bool registerManagedStubLeafInterface(std::shared_ptr<LeafInterfaceStub>, const std::string&);
49 bool deregisterManagedStubLeafInterface(const std::string&);
50 std::set<std::string>& getLeafInterfaceInstances();
52 const SecondRootDBusStubAdapterHelper::StubDispatcherTable& getStubDispatcherTable();
54 void deactivateManagedInstances();
58 virtual const char* getMethodsDBusIntrospectionXmlData() const;
61 std::set<std::string> registeredLeafInterfaceInstances;
62 SecondRootDBusStubAdapterHelper::StubDispatcherTable stubDispatcherTable_;
65 class SecondRootDBusStubAdapter: public SecondRootDBusStubAdapterInternal, public std::enable_shared_from_this<SecondRootDBusStubAdapter> {
67 SecondRootDBusStubAdapter(
68 const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
69 const std::string& commonApiAddress,
70 const std::string& dbusInterfaceName,
71 const std::string& dbusBusName,
72 const std::string& dbusObjectPath,
73 const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection,
74 const std::shared_ptr<CommonAPI::StubBase>& stub) :
75 CommonAPI::DBus::DBusStubAdapter(
83 SecondRootDBusStubAdapterInternal(
93 } // namespace managed
95 } // namespace commonapi
97 #endif // COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_