diff options
author | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-06-17 05:12:07 -0700 |
---|---|---|
committer | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-06-17 05:12:07 -0700 |
commit | 49d0b428ca19852d49965f35328a314f22d88807 (patch) | |
tree | 4b8d945f29cac4b4b599f79a872cc5029288f5c5 /src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp | |
parent | 54982071a99484488207ad3bd5e9391a15bffe02 (diff) | |
download | genivi-common-api-dbus-runtime-49d0b428ca19852d49965f35328a314f22d88807.tar.gz |
CommonAPI 3.1.23.1.2
Diffstat (limited to 'src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp')
-rw-r--r-- | src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp b/src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp new file mode 100644 index 0000000..184de9d --- /dev/null +++ b/src/test/src-gen/core/v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxy.hpp @@ -0,0 +1,169 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 3.1.2.v201506150834. +* Used org.franca.core 0.9.1.201412191134. +* +* 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_Test_Freedesktop_Derived_Interface_PROXY_HPP_ +#define COMMONAPI_TESTS_Test_Freedesktop_Derived_Interface_PROXY_HPP_ + +#include <v1_0/commonapi/tests/TestFreedesktopDerivedInterfaceProxyBase.hpp> + +#include "v1_0/commonapi/tests/TestFreedesktopInterfaceProxy.hpp" + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/AttributeExtension.hpp> +#include <CommonAPI/Factory.hpp> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace v1_0 { +namespace commonapi { +namespace tests { + +template <typename ... _AttributeExtensions> +class TestFreedesktopDerivedInterfaceProxy + : virtual public TestFreedesktopDerivedInterface, + virtual public TestFreedesktopDerivedInterfaceProxyBase, + virtual public TestFreedesktopInterfaceProxy<_AttributeExtensions...>, + public _AttributeExtensions... { +public: + TestFreedesktopDerivedInterfaceProxy(std::shared_ptr<CommonAPI::Proxy> delegate); + ~TestFreedesktopDerivedInterfaceProxy(); + + typedef TestFreedesktopDerivedInterface InterfaceType; + + inline static const char* getInterface() { + return(TestFreedesktopDerivedInterface::getInterface()); + } + + /** + * Returns the wrapper class that provides access to the attribute TestAttributedFromDerivedInterface. + */ + virtual TestAttributedFromDerivedInterfaceAttribute& getTestAttributedFromDerivedInterfaceAttribute() { + return delegate_->getTestAttributedFromDerivedInterfaceAttribute(); + } + + + + + /** + * Returns the CommonAPI address of the remote partner this proxy communicates with. + */ + virtual const CommonAPI::Address &getAddress() const; + + /** + * Returns true if the remote partner for this proxy is currently known to be available. + */ + virtual bool isAvailable() const; + + /** + * Returns true if the remote partner for this proxy is available. + */ + virtual bool isAvailableBlocking() const; + + /** + * Returns the wrapper class that is used to (de-)register for notifications about + * the availability of the remote partner of this proxy. + */ + virtual CommonAPI::ProxyStatusEvent& getProxyStatusEvent(); + + /** + * Returns the wrapper class that is used to access version information of the remote + * partner of this proxy. + */ + virtual CommonAPI::InterfaceVersionAttribute& getInterfaceVersionAttribute(); + + private: + std::shared_ptr<TestFreedesktopDerivedInterfaceProxyBase> delegate_; +}; + +typedef TestFreedesktopDerivedInterfaceProxy<> TestFreedesktopDerivedInterfaceProxyDefault; + +namespace TestFreedesktopDerivedInterfaceExtensions { + template <template <typename > class _ExtensionType> + class TestAttributedFromDerivedInterfaceAttributeExtension { + public: + typedef _ExtensionType<TestFreedesktopDerivedInterfaceProxyBase::TestAttributedFromDerivedInterfaceAttribute> extension_type; + + static_assert(std::is_base_of<typename CommonAPI::AttributeExtension<TestFreedesktopDerivedInterfaceProxyBase::TestAttributedFromDerivedInterfaceAttribute>, extension_type>::value, + "Not CommonAPI Attribute Extension!"); + #ifdef WIN32 + TestAttributedFromDerivedInterfaceAttributeExtension() {} + #endif + + TestAttributedFromDerivedInterfaceAttributeExtension(TestFreedesktopDerivedInterfaceProxyBase& proxy): attributeExtension_(proxy.getTestAttributedFromDerivedInterfaceAttribute()) { + } + + inline extension_type& getTestAttributedFromDerivedInterfaceAttributeExtension() { + return attributeExtension_; + } + + private: + extension_type attributeExtension_; + }; + +} // namespace TestFreedesktopDerivedInterfaceExtensions + +// +// TestFreedesktopDerivedInterfaceProxy Implementation +// +template <typename ... _AttributeExtensions> +TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::TestFreedesktopDerivedInterfaceProxy(std::shared_ptr<CommonAPI::Proxy> delegate): + TestFreedesktopInterfaceProxy<_AttributeExtensions...>(delegate), + _AttributeExtensions(*(std::dynamic_pointer_cast<TestFreedesktopDerivedInterfaceProxyBase>(delegate)))..., + delegate_(std::dynamic_pointer_cast<TestFreedesktopDerivedInterfaceProxyBase>(delegate)) { +} + +template <typename ... _AttributeExtensions> +TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::~TestFreedesktopDerivedInterfaceProxy() { +} + + +template <typename ... _AttributeExtensions> +const CommonAPI::Address &TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::getAddress() const { + return delegate_->getAddress(); +} + +template <typename ... _AttributeExtensions> +bool TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::isAvailable() const { + return delegate_->isAvailable(); +} + +template <typename ... _AttributeExtensions> +bool TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::isAvailableBlocking() const { + return delegate_->isAvailableBlocking(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::ProxyStatusEvent& TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::getProxyStatusEvent() { + return delegate_->getProxyStatusEvent(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::InterfaceVersionAttribute& TestFreedesktopDerivedInterfaceProxy<_AttributeExtensions...>::getInterfaceVersionAttribute() { + return delegate_->getInterfaceVersionAttribute(); +} + + +} // namespace tests +} // namespace commonapi +} // namespace v1_0 + +namespace CommonAPI { +template<template<typename > class _AttributeExtension> +struct DefaultAttributeProxyHelper<::v1_0::commonapi::tests::TestFreedesktopDerivedInterfaceProxy, + _AttributeExtension> { + typedef typename ::v1_0::commonapi::tests::TestFreedesktopDerivedInterfaceProxy< + ::v1_0::commonapi::tests::TestFreedesktopDerivedInterfaceExtensions::TestAttributedFromDerivedInterfaceAttributeExtension<_AttributeExtension> + > class_t; +}; +} + +#endif // COMMONAPI_TESTS_Test_Freedesktop_Derived_Interface_PROXY_HPP_ |