/* * This file was generated by the CommonAPI Generators. * Used org.genivi.commonapi.core 2.1.2.201309301424. * Used org.franca.core 0.8.9.201308271211. * * Copyright (C) 2012, BMW AG * * This file is part of GENIVI Project AudioManager. * * Contributions are licensed to the GENIVI Alliance under one or more * Contribution License Agreements. * * \copyright * 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/. * * * \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013 * * For further information see http://www.genivi.org/. */ /** * @author Christian Linke */ #ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_DEFAULT_H_ #define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_DEFAULT_H_ #include #include namespace org { namespace genivi { namespace NodeStateManager { /** * Provides a default implementation for LifeCycleConsumerStubRemoteEvent and * LifeCycleConsumerStub. Method callbacks have an empty implementation, * remote set calls on attributes will always change the value of the attribute * to the one received. * * Override this stub if you only want to provide a subset of the functionality * that would be defined for this service, and/or if you do not need any non-default * behaviour. */ class LifeCycleConsumerStubDefault : public LifeCycleConsumerStub { public: LifeCycleConsumerStubDefault(); LifeCycleConsumerStubRemoteEvent* initStubAdapter(const std::shared_ptr& stubAdapter); virtual void LifecycleRequest(const std::shared_ptr clientId, uint32_t Request, uint32_t RequestId, int32_t& ErrorCode); virtual void LifecycleRequest(uint32_t Request, uint32_t RequestId, int32_t& ErrorCode); protected: std::shared_ptr stubAdapter_; private: class RemoteEventHandler: public LifeCycleConsumerStubRemoteEvent { public: RemoteEventHandler(LifeCycleConsumerStubDefault* defaultStub); private: LifeCycleConsumerStubDefault* defaultStub_; }; RemoteEventHandler remoteEventHandler_; }; } // namespace NodeStateManager } // namespace genivi } // namespace org #endif // ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_DEFAULT_H_