summaryrefslogtreecommitdiff
path: root/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h
blob: 25f74b8d30a6806b23b59f5d6449648d15e004e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
* This file was generated by the CommonAPI Generators.
*
* This file was generated by the CommonAPI Generators.
*
* This file was generated by the CommonAPI Generators.
*
* 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
* \author Christian Linke christian.linke@bmw.de BMW 2013
*
* For further information see http://www.genivi.org/.
*/
#ifndef ORG_GENIVI_AM_Routing_Control_STUB_H_
#define ORG_GENIVI_AM_Routing_Control_STUB_H_



#include <org/genivi/am.h>

#include "RoutingControl.h"

#define COMMONAPI_INTERNAL_COMPILATION

#include <CommonAPI/InputStream.h>
#include <CommonAPI/OutputStream.h>
#include <CommonAPI/SerializableStruct.h>
#include <cstdint>
#include <vector>

#include <CommonAPI/Stub.h>

#undef COMMONAPI_INTERNAL_COMPILATION

namespace org {
namespace genivi {
namespace am {

/**
 * Receives messages from remote and handles all dispatching of deserialized calls
 * to a stub for the service RoutingControl. Also provides means to send broadcasts
 * and attribute-changed-notifications of observable attributes as defined by this service.
 * An application developer should not need to bother with this class.
 */
class RoutingControlStubAdapter: virtual public CommonAPI::StubAdapter, public RoutingControl {
 public:

};


/**
 * Defines the necessary callbacks to handle remote set events related to the attributes
 * defined in the IDL description for RoutingControl.
 * For each attribute two callbacks are defined:
 * - a verification callback that allows to verify the requested value and to prevent setting
 *   e.g. an invalid value ("onRemoteSet<AttributeName>").
 * - an action callback to do local work after the attribute value has been changed
 *   ("onRemote<AttributeName>Changed").
 *
 * This class and the one below are the ones an application developer needs to have
 * a look at if he wants to implement a service.
 */
class RoutingControlStubRemoteEvent {
 public:
    virtual ~RoutingControlStubRemoteEvent() { }

};


/**
 * Defines the interface that must be implemented by any class that should provide
 * the service RoutingControl to remote clients.
 * This class and the one above are the ones an application developer needs to have
 * a look at if he wants to implement a service.
 */
class RoutingControlStub : public CommonAPI::Stub<RoutingControlStubAdapter , RoutingControlStubRemoteEvent> {
 public:
    virtual ~RoutingControlStub() { }


    /// This is the method that will be called on remote calls on the method asyncAbort.
    virtual void asyncAbort(am_Handle_s handle) = 0;
    /// This is the method that will be called on remote calls on the method asyncConnect.
    virtual void asyncConnect(am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_ConnectionFormat_pe connectionFormat) = 0;
    /// This is the method that will be called on remote calls on the method asyncDisconnect.
    virtual void asyncDisconnect(am_Handle_s handle, am_connectionID_t connectionID) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSinkVolume.
    virtual void asyncSetSinkVolume(am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_RampType_pe ramp, am_time_t time) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSourceVolume.
    virtual void asyncSetSourceVolume(am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_RampType_pe ramp, am_time_t time) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSourceState.
    virtual void asyncSetSourceState(am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSinkSoundProperties.
    virtual void asyncSetSinkSoundProperties(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSinkSoundProperty.
    virtual void asyncSetSinkSoundProperty(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSourceSoundProperties.
    virtual void asyncSetSourceSoundProperties(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSourceSoundProperty.
    virtual void asyncSetSourceSoundProperty(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty) = 0;
    /// This is the method that will be called on remote calls on the method asyncCrossFade.
    virtual void asyncCrossFade(am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_RampType_pe rampType, am_time_t time) = 0;
    /// This is the method that will be called on remote calls on the method setDomainState.
    virtual void setDomainState(am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetVolumes.
    virtual void asyncSetVolumes(am_Handle_s handle, am_Volumes_L volumes) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSinkNotificationConfiguration.
    virtual void asyncSetSinkNotificationConfiguration(am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration) = 0;
    /// This is the method that will be called on remote calls on the method asyncSetSourceNotificationConfiguration.
    virtual void asyncSetSourceNotificationConfiguration(am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration) = 0;
    
};

} // namespace am
} // namespace genivi
} // namespace org

#endif // ORG_GENIVI_AM_Routing_Control_STUB_H_