added test for two managers for the same interface
[profile/ivi/common-api-dbus-runtime.git] / src / test / commonapi / tests / managed / SecondRootDBusStubAdapter.h
1 /*
2 * This file was generated by the CommonAPI Generators. 
3 * Used org.genivi.commonapi.core 2.1.3.qualifier.
4 * Used org.franca.core 0.8.10.201309262002.
5 *
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/.
9 */
10 #ifndef COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_
11 #define COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_
12
13 #include <commonapi/tests/managed/SecondRootStub.h>
14
15 #if !defined (COMMONAPI_INTERNAL_COMPILATION)
16 #define COMMONAPI_INTERNAL_COMPILATION
17 #endif
18
19 #include <CommonAPI/DBus/DBusStubAdapterHelper.h>
20 #include <CommonAPI/DBus/DBusStubAdapter.h>
21 #include <CommonAPI/DBus/DBusFactory.h>
22 #include <CommonAPI/DBus/DBusServicePublisher.h>
23
24 #undef COMMONAPI_INTERNAL_COMPILATION
25
26 namespace commonapi {
27 namespace tests {
28 namespace managed {
29
30 typedef CommonAPI::DBus::DBusStubAdapterHelper<SecondRootStub> SecondRootDBusStubAdapterHelper;
31
32 class SecondRootDBusStubAdapter: public SecondRootStubAdapter, public SecondRootDBusStubAdapterHelper {
33  public:
34     SecondRootDBusStubAdapter(
35             const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
36             const std::string& commonApiAddress,
37             const std::string& dbusInterfaceName,
38             const std::string& dbusBusName,
39             const std::string& dbusObjectPath,
40             const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection,
41             const std::shared_ptr<CommonAPI::StubBase>& stub);
42
43     ~SecondRootDBusStubAdapter();
44
45
46     
47     bool registerManagedStubLeafInterface(std::shared_ptr<LeafInterfaceStub>, const std::string&);
48     bool deregisterManagedStubLeafInterface(const std::string&);
49     std::set<std::string>& getLeafInterfaceInstances();
50
51     const StubDispatcherTable& getStubDispatcherTable();
52     
53     void deactivateManagedInstances();
54
55  protected:
56     virtual const char* getMethodsDBusIntrospectionXmlData() const;
57     
58   private:
59     std::set<std::string> registeredLeafInterfaceInstances;
60 };
61
62 } // namespace managed
63 } // namespace tests
64 } // namespace commonapi
65
66 #endif // COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_