* made sure that CommonAPI stuff compiles with release 2.1
[profile/ivi/genivi/genivi-audio-manager.git] / AudioManagerDaemon / src-gen / org / genivi / NodeStateManager / LifeCycleConsumerProxyBase.h
1 /*
2 * This file was generated by the CommonAPI Generators. 
3 * Used org.genivi.commonapi.core 2.1.1.201309251246.
4 * Used org.franca.core 0.8.9.201308271211.
5 *
6 * Copyright (C) 2012, BMW AG
7 * This file is part of GENIVI Project AudioManager.
8
9 * Contributions are licensed to the GENIVI Alliance under one or more
10 * Contribution License Agreements.
11
12 * \copyright
13 * 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/.
14
15 * \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
16 * \author Christian Linke christian.linke@bmw.de BMW 2013
17 * For further information see http://www.genivi.org/.
18 */
19 /**
20  * @author Christian Linke
21  */
22 #ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
23 #define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
24
25 #include "LifeCycleConsumer.h"
26
27
28
29 #if !defined (COMMONAPI_INTERNAL_COMPILATION)
30 #define COMMONAPI_INTERNAL_COMPILATION
31 #endif
32
33
34 #include <CommonAPI/Proxy.h>
35 #include <functional>
36 #include <future>
37
38 #undef COMMONAPI_INTERNAL_COMPILATION
39
40 namespace org {
41 namespace genivi {
42 namespace NodeStateManager {
43
44 class LifeCycleConsumerProxyBase: virtual public CommonAPI::Proxy {
45  public:
46
47     typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> LifecycleRequestAsyncCallback;
48
49
50
51     virtual void LifecycleRequest(const uint32_t& Request, const uint32_t& RequestId, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
52     virtual std::future<CommonAPI::CallStatus> LifecycleRequestAsync(const uint32_t& Request, const uint32_t& RequestId, LifecycleRequestAsyncCallback callback) = 0;
53 };
54
55 } // namespace NodeStateManager
56 } // namespace genivi
57 } // namespace org
58
59 #endif // ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_