/* * 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_PROXY_H_ #define COMMONAPI_TESTS_MANAGED_Second_Root_PROXY_H_ #include "SecondRootProxyBase.h" #if !defined (COMMONAPI_INTERNAL_COMPILATION) #define COMMONAPI_INTERNAL_COMPILATION #endif #undef COMMONAPI_INTERNAL_COMPILATION namespace commonapi { namespace tests { namespace managed { template class SecondRootProxy: virtual public SecondRoot, virtual public SecondRootProxyBase , public _AttributeExtensions... { public: SecondRootProxy(std::shared_ptr delegate); ~SecondRootProxy(); typedef SecondRoot InterfaceType; virtual CommonAPI::ProxyManager& getProxyManagerLeafInterface(); /** * Returns the CommonAPI address of the remote partner this proxy communicates with. */ virtual std::string getAddress() const; /** * Returns the domain of the remote partner this proxy communicates with. */ virtual const std::string& getDomain() const; /** * Returns the service ID of the remote partner this proxy communicates with. */ virtual const std::string& getServiceId() const; /** * Returns the instance ID of the remote partner this proxy communicates with. */ virtual const std::string& getInstanceId() 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 delegate_; }; #ifdef WIN32 typedef SecondRootProxy> SecondRootProxyDefault; #else typedef SecondRootProxy<> SecondRootProxyDefault; #endif // // SecondRootProxy Implementation // template SecondRootProxy<_AttributeExtensions...>::SecondRootProxy(std::shared_ptr delegate): _AttributeExtensions(*(std::dynamic_pointer_cast(delegate)))..., delegate_(std::dynamic_pointer_cast(delegate)) { } template SecondRootProxy<_AttributeExtensions...>::~SecondRootProxy() { } template std::string SecondRootProxy<_AttributeExtensions...>::getAddress() const { return delegate_->getAddress(); } template const std::string& SecondRootProxy<_AttributeExtensions...>::getDomain() const { return delegate_->getDomain(); } template const std::string& SecondRootProxy<_AttributeExtensions...>::getServiceId() const { return delegate_->getServiceId(); } template const std::string& SecondRootProxy<_AttributeExtensions...>::getInstanceId() const { return delegate_->getInstanceId(); } template bool SecondRootProxy<_AttributeExtensions...>::isAvailable() const { return delegate_->isAvailable(); } template bool SecondRootProxy<_AttributeExtensions...>::isAvailableBlocking() const { return delegate_->isAvailableBlocking(); } template CommonAPI::ProxyStatusEvent& SecondRootProxy<_AttributeExtensions...>::getProxyStatusEvent() { return delegate_->getProxyStatusEvent(); } template CommonAPI::InterfaceVersionAttribute& SecondRootProxy<_AttributeExtensions...>::getInterfaceVersionAttribute() { return delegate_->getInterfaceVersionAttribute(); } template CommonAPI::ProxyManager& SecondRootProxy<_AttributeExtensions...>::getProxyManagerLeafInterface() { return delegate_->getProxyManagerLeafInterface(); } } // namespace managed } // namespace tests } // namespace commonapi #endif // COMMONAPI_TESTS_MANAGED_Second_Root_PROXY_H_