/* * This file was generated by the CommonAPI Generators. * Used org.genivi.commonapi.core 2.1.5.qualifier. * Used org.franca.core 0.8.10.201309262002. * * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. * If a copy of the MPL was not distributed with this file, You can obtain one at * http://mozilla.org/MPL/2.0/. */ #ifndef COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_ #define COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_ #include #if !defined (COMMONAPI_INTERNAL_COMPILATION) #define COMMONAPI_INTERNAL_COMPILATION #endif #include #include #include #include #undef COMMONAPI_INTERNAL_COMPILATION namespace commonapi { namespace tests { namespace managed { typedef CommonAPI::DBus::DBusStubAdapterHelper SecondRootDBusStubAdapterHelper; class SecondRootDBusStubAdapterInternal: public virtual SecondRootStubAdapter, public SecondRootDBusStubAdapterHelper { public: SecondRootDBusStubAdapterInternal( const std::shared_ptr& factory, const std::string& commonApiAddress, const std::string& dbusInterfaceName, const std::string& dbusBusName, const std::string& dbusObjectPath, const std::shared_ptr& dbusConnection, const std::shared_ptr& stub); ~SecondRootDBusStubAdapterInternal(); virtual const bool hasFreedesktopProperties(); bool registerManagedStubLeafInterface(std::shared_ptr, const std::string&); bool deregisterManagedStubLeafInterface(const std::string&); std::set& getLeafInterfaceInstances(); const SecondRootDBusStubAdapterHelper::StubDispatcherTable& getStubDispatcherTable(); const CommonAPI::DBus::StubAttributeTable& getStubAttributeTable(); void deactivateManagedInstances(); static CommonAPI::DBus::DBusGetAttributeStubDispatcher< SecondRootStub, CommonAPI::Version > getSecondRootInterfaceVersionStubDispatcher; protected: virtual const char* getMethodsDBusIntrospectionXmlData() const; private: std::set registeredLeafInterfaceInstances; SecondRootDBusStubAdapterHelper::StubDispatcherTable stubDispatcherTable_; CommonAPI::DBus::StubAttributeTable stubAttributeTable_; }; class SecondRootDBusStubAdapter: public SecondRootDBusStubAdapterInternal, public std::enable_shared_from_this { public: SecondRootDBusStubAdapter( const std::shared_ptr& factory, const std::string& commonApiAddress, const std::string& dbusInterfaceName, const std::string& dbusBusName, const std::string& dbusObjectPath, const std::shared_ptr& dbusConnection, const std::shared_ptr& stub) : CommonAPI::DBus::DBusStubAdapter( factory, commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath, dbusConnection, true), SecondRootDBusStubAdapterInternal( factory, commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath, dbusConnection, stub) { } }; } // namespace managed } // namespace tests } // namespace commonapi #endif // COMMONAPI_TESTS_MANAGED_Second_Root_DBUS_STUB_ADAPTER_H_