* Every new connection ID is initilized with the next available number.
[profile/ivi/genivi/genivi-audio-manager.git] / include / projecttypes.h
1 /**\r
2  * Copyright (C) 2012, BMW AG\r
3  *\r
4  * This file is part of GENIVI Project AudioManager.\r
5  *\r
6  * Contributions are licensed to the GENIVI Alliance under one or more\r
7  * Contribution License Agreements.\r
8  *\r
9  * \copyright\r
10  * This Source Code Form is subject to the terms of the\r
11  * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with\r
12  * this file, You can obtain one at http://mozilla.org/MPL/2.0/.\r
13  *\r
14  *\r
15  * \author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012\r
16  *\r
17  * \file\r
18  * For further information see http://www.genivi.org/.\r
19  *\r
20  * THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN\r
21  */\r
22 #if !defined(EA_B5ABC40A_CD0B_4c35_BB93_F4EA426C0B58__INCLUDED_)\r
23 #define EA_B5ABC40A_CD0B_4c35_BB93_F4EA426C0B58__INCLUDED_\r
24 \r
25 namespace am {\r
26         /**\r
27          * This enum classifies the format in which data is exchanged within a connection.\r
28          * The enum itself is project specific although there are some Genivi standard\r
29          * formats defined.\r
30          * @author Christian Mueller\r
31          * @created 28-Jun-2012 14:00:25\r
32          */\r
33         enum am_ConnectionFormat_e\r
34         {\r
35                 /**\r
36                  * default\r
37                  */\r
38                 CF_UNKNOWN = 0,\r
39                 /**\r
40                  * plain mono\r
41                  */\r
42                 CF_GENIVI_MONO = 1,\r
43                 /**\r
44                  * stereo connection\r
45                  */\r
46                 CF_GENIVI_STEREO = 2,\r
47                 /**\r
48                  * analog connection\r
49                  */\r
50                 CF_GENIVI_ANALOG = 3,\r
51                 /**\r
52                  * automatic connection. \r
53                  */\r
54                 CF_GENIVI_AUTO = 4,\r
55 \r
56                 CF_MAX\r
57         };\r
58 \r
59         /**\r
60          * This enum gives the information about reason for reason for Source/Sink change\r
61          * @author Christian Mueller\r
62          * @created 28-Jun-2012 14:00:25\r
63          */\r
64         enum am_AvailabilityReason_e\r
65         {\r
66                 /**\r
67                  * default\r
68                  */\r
69                 AR_UNKNOWN = 0,\r
70                 /**\r
71                  * the availability changed because an new media was entered \r
72                  */\r
73                 AR_GENIVI_NEWMEDIA = 1,\r
74                 /**\r
75                  * the availability changed because the same media was entered\r
76                  */\r
77                 AR_GENIVI_SAMEMEDIA = 2,\r
78                 /**\r
79                  * the availability changed because there is no media\r
80                  */\r
81                 AR_GENIVI_NOMEDIA = 3,\r
82                 /**\r
83                  * the availability changed because of a temperature event\r
84                  */\r
85                 AR_GENIVI_TEMPERATURE = 4,\r
86                 /**\r
87                  * the availability changed because of a voltage event\r
88                  */\r
89                 AR_GENIVI_VOLTAGE = 5,\r
90                 /**\r
91                  * the availability changed because of fatal errors reading or accessing media\r
92                  */\r
93                 AR_GENIVI_ERRORMEDIA = 6,\r
94                 AR_MAX\r
95         };\r
96 \r
97         /**\r
98          * product specific identifier of property\r
99          * @author Christian Mueller\r
100          * @created 28-Jun-2012 14:00:25\r
101          */\r
102         enum am_ClassProperty_e\r
103         {\r
104                 /**\r
105                  * default\r
106                  */\r
107                 CP_UNKNOWN = 0,\r
108                 /**\r
109                  * defines the source type of a source. Project specific, could be for example\r
110                  * differentiation between interrupt source and main source.\r
111                  */\r
112                 CP_ENTERTAINMENT = 1,\r
113                 /**\r
114                  * defines the SINK_TYPE. Project specific\r
115                  */\r
116                 CP_INTERRUPT_OVERLAY = 2,\r
117 \r
118                 CP_INTERRUPT_SUPERSEEDING = 3,\r
119 \r
120                 CP_PDC =4,\r
121 \r
122                 CP_GONG = 5,\r
123 \r
124         CP_CROSSFADER = 6,\r
125 \r
126                 CP_GENIVI_SOURCE_TYPE=7,\r
127 \r
128         CP_GENIVI_SINK_TYPE=8,\r
129 \r
130         CP_VIRTUAL_MAINSINK = 9,\r
131 \r
132         CP_INVISIBLE_SOURCE = 10,\r
133 \r
134         CP_PLAINSINK = 11,\r
135 \r
136         CP_MAINSINK = 12,\r
137 \r
138         CP_INVISIBLE_SINK = 13,\r
139 \r
140                 CP_MAX\r
141         };\r
142 \r
143         /**\r
144          * The given ramp types here are just a possiblity. for products, different ramp\r
145          * types can be defined here.\r
146          * It is in the responsibility of the product to make sure that the routing\r
147          * plugins are aware of the ramp types used.\r
148          * @author Christian Mueller\r
149          * @created 28-Jun-2012 14:00:25\r
150          */\r
151         enum am_RampType_e\r
152         {\r
153                 RAMP_UNKNOWN = 0,\r
154                 /**\r
155                  * this ramp type triggers a direct setting of the value without a ramp\r
156                  */\r
157                 RAMP_GENIVI_DIRECT = 1,\r
158                 /**\r
159                  * This ramp type will set the volume as fast as possible.  \r
160                  */\r
161                 RAMP_GENIVI_NO_PLOP = 2,\r
162                 RAMP_GENIVI_EXP_INV = 3,\r
163                 RAMP_GENIVI_LINEAR = 4,\r
164                 RAMP_GENIVI_EXP = 5,\r
165                 RAMP_MAX\r
166         };\r
167 \r
168         /**\r
169          * sound properties. Within genivi only the standard properties are defined, for\r
170          * products these need to be extended.\r
171          * @author Christian Mueller\r
172          * @created 28-Jun-2012 14:00:25\r
173          */\r
174         enum am_SoundPropertyType_e\r
175         {\r
176                 /**\r
177                  * default\r
178                  */\r
179                 SP_UNKNOWN = 0,\r
180                 /**\r
181                  * example treble value min =-10 max =10\r
182                  */\r
183                 SP_EXAMPLE_TREBLE = 1,\r
184                 /**\r
185                  * example mid value min =-10 max =10\r
186                  */\r
187                 SP_EXAMPLE_MID = 2,\r
188                 /**\r
189                  * example bass value min =-10 max =10\r
190                  */\r
191                 SP_EXAMPLE_BASS = 3,\r
192 \r
193                 SP_ENTER_SINKID = 4,\r
194 \r
195                 SP_INTERR_SUPERSEEDINGID = 5,\r
196 \r
197                 SP_INTERR_OVERLAYID = 6,\r
198 \r
199                 SP_PRIORITY = 7,\r
200 \r
201                 SP_MAX\r
202         };\r
203 \r
204         /**\r
205          * Here are all SoundProperties that can be set via the CommandInterface. Product\r
206          * specific\r
207          * @author Christian Mueller\r
208          * @created 28-Jun-2012 14:00:25\r
209          */\r
210         enum am_MainSoundPropertyType_e\r
211         {\r
212                 /**\r
213                  * default\r
214                  */\r
215                 MSP_UNKNOWN = 0,\r
216                 /**\r
217                  * example value between -10 and +10 \r
218                  */\r
219                 MSP_EXAMPLE_TREBLE = 1,\r
220                 /**\r
221                  * example value between -10 and +10 \r
222                  */\r
223                 MSP_EXAMPLE_MID = 2,\r
224                 /**\r
225                  * example value between -10 and +10 \r
226                  */\r
227                 MSP_EXAMPLE_BASS = 3,\r
228 \r
229                 MSP_SOURCE_TYPE = 4,\r
230 \r
231                 MSP_MAX\r
232         };\r
233 \r
234         /**\r
235          * describes the different system properties. Project specific\r
236          * @author Christian Mueller\r
237          * @created 28-Jun-2012 14:00:25\r
238          */\r
239         enum am_SystemPropertyType_e\r
240         {\r
241                 /**\r
242                  * default\r
243                  */\r
244                 SYP_UNKNOWN = 0,\r
245                 SYP_MAX\r
246         };\r
247 \r
248         enum am_sourceType_e\r
249         {\r
250             ST_MULTIMEDIA_LIBRARY = 0,\r
251             ST_TUNER = 1,\r
252             ST_AUX_STREAM = 2,\r
253             ST_MAX\r
254         };\r
255 \r
256         /**\r
257          * gives the type of the Notification.\r
258          * @author q232968\r
259          * @version 1.0\r
260          * @created 05-Dez-2012 12:36:55\r
261          */\r
262         enum am_NotificationType_e\r
263         {\r
264                 NT_UNKNOWN = 0,\r
265                 NT_MAX\r
266         };\r
267 }\r
268 #endif // !defined(EA_B5ABC40A_CD0B_4c35_BB93_F4EA426C0B58__INCLUDED_)\r