AudioManager  7.5.11
Native Application Runtime Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CAmControlReceiver.cpp
Go to the documentation of this file.
1 
24 #include "CAmControlReceiver.h"
25 #include <cassert>
26 #include <stdlib.h>
27 #include <stdexcept>
28 #include "audiomanagerconfig.h"
29 #include "IAmDatabaseHandler.h"
30 #include "CAmRoutingSender.h"
31 #include "CAmCommandSender.h"
32 #include "CAmRouter.h"
33 #include "CAmDltWrapper.h"
34 #include "CAmSocketHandler.h"
35 
36 namespace am {
37 
38 CAmControlReceiver::CAmControlReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmCommandSender *iCommandSender, CAmSocketHandler *iSocketHandler, CAmRouter* iRouter) :
39  mDatabaseHandler(iDatabaseHandler), //
40  mRoutingSender(iRoutingSender), //
41  mCommandSender(iCommandSender), //
42  mSocketHandler(iSocketHandler), //
43  mRouter(iRouter), //
44  mNodeStateCommunicator(NULL)
45 {
46  assert(mDatabaseHandler!=NULL);
47  assert(mRoutingSender!=NULL);
48  assert(mCommandSender!=NULL);
49  assert(mSocketHandler!=NULL);
50  assert(mRouter!=NULL);
51 }
52 
54 {
55 }
56 
57 am_Error_e CAmControlReceiver::getRoute(const bool onlyfree, const am_sourceID_t sourceID, const am_sinkID_t sinkID, std::vector<am_Route_s> & returnList)
58 {
59  return (mRouter->getRoute(onlyfree, sourceID, sinkID, returnList));
60 }
61 
63 {
64  return (mRoutingSender->asyncConnect(handle, connectionID, sourceID, sinkID, format));
65 }
66 
68 {
69  return (mRoutingSender->asyncDisconnect(handle, connectionID));
70 }
71 
72 am_Error_e CAmControlReceiver::crossfade(am_Handle_s & handle, const am_HotSink_e hotSource, const am_crossfaderID_t crossfaderID, const am_CustomRampType_t rampType, const am_time_t rampTime)
73 {
74  return (mRoutingSender->asyncCrossFade(handle, crossfaderID, hotSource, rampType, rampTime));
75 }
76 
78 {
79  return (mRoutingSender->asyncSetSourceState(handle, sourceID, state));
80 }
81 
83 {
84  return (mRoutingSender->asyncSetSinkVolume(handle, sinkID, volume, ramp, time));
85 }
86 
87 am_Error_e CAmControlReceiver::setSourceVolume(am_Handle_s & handle, const am_sourceID_t sourceID, const am_volume_t volume, const am_CustomRampType_t rampType, const am_time_t time)
88 {
89  return (mRoutingSender->asyncSetSourceVolume(handle, sourceID, volume, rampType, time));
90 }
91 
93 {
94  return (mRoutingSender->asyncSetSinkSoundProperty(handle, sinkID, soundProperty));
95 }
96 
97 am_Error_e CAmControlReceiver::setSinkSoundProperties(am_Handle_s & handle, const am_sinkID_t sinkID, const std::vector<am_SoundProperty_s> & listSoundProperties)
98 {
99  return (mRoutingSender->asyncSetSinkSoundProperties(handle, listSoundProperties, sinkID));
100 }
101 
103 {
104  return (mRoutingSender->asyncSetSourceSoundProperty(handle, sourceID, soundProperty));
105 }
106 
107 am_Error_e CAmControlReceiver::setSourceSoundProperties(am_Handle_s & handle, const am_sourceID_t sourceID, const std::vector<am_SoundProperty_s> & listSoundProperties)
108 {
109  return (mRoutingSender->asyncSetSourceSoundProperties(handle, listSoundProperties, sourceID));
110 }
111 
113 {
114  return (mRoutingSender->setDomainState(domainID, domainState));
115 }
116 
118 {
119  return (mRoutingSender->asyncAbort(handle));
120 }
121 
123 {
124  return (mDatabaseHandler->enterDomainDB(domainData, domainID));
125 }
126 
128 {
129  return (mDatabaseHandler->enterMainConnectionDB(mainConnectionData, connectionID));
130 }
131 
133 {
134  return (mDatabaseHandler->enterSinkDB(sinkData, sinkID));
135 }
136 
138 {
139  return (mDatabaseHandler->enterCrossfaderDB(crossfaderData, crossfaderID));
140 }
141 
143 {
144  return (mDatabaseHandler->enterGatewayDB(gatewayData, gatewayID));
145 }
146 
148 {
149  return (mDatabaseHandler->enterConverterDB(converterData, converterID));
150 }
151 
153 {
154  return (mDatabaseHandler->enterSourceDB(sourceData, sourceID));
155 }
156 
158 {
159  return (mDatabaseHandler->enterSinkClassDB(sinkClass, sinkClassID));
160 }
161 
163 {
164  return (mDatabaseHandler->enterSourceClassDB(sourceClassID, sourceClass));
165 }
166 
167 am_Error_e CAmControlReceiver::enterSystemPropertiesListDB(const std::vector<am_SystemProperty_s> & listSystemProperties)
168 {
169  return (mDatabaseHandler->enterSystemProperties(listSystemProperties));
170 }
171 
172 am_Error_e CAmControlReceiver::changeMainConnectionRouteDB(const am_mainConnectionID_t mainconnectionID, const std::vector<am_connectionID_t>& listConnectionID)
173 {
174  return (mDatabaseHandler->changeMainConnectionRouteDB(mainconnectionID, listConnectionID));
175 }
176 
178 {
179  return (mDatabaseHandler->changeMainConnectionStateDB(mainconnectionID, connectionState));
180 }
181 
183 {
184  return (mDatabaseHandler->changeSinkMainVolumeDB(mainVolume, sinkID));
185 }
186 
188 {
189  return (mDatabaseHandler->changeSinkAvailabilityDB(availability, sinkID));
190 }
191 
193 {
194  return (mDatabaseHandler->changeDomainStateDB(domainState, domainID));
195 }
196 
198 {
199  return (mDatabaseHandler->changeSinkMuteStateDB(muteState, sinkID));
200 }
201 
203 {
204  return (mDatabaseHandler->changeMainSinkSoundPropertyDB(soundProperty, sinkID));
205 }
206 
208 {
209  return (mDatabaseHandler->changeMainSourceSoundPropertyDB(soundProperty, sourceID));
210 }
211 
213 {
214  return (mDatabaseHandler->changeSourceAvailabilityDB(availability, sourceID));
215 }
216 
218 {
219  return (mDatabaseHandler->changeSystemPropertyDB(property));
220 }
221 
223 {
224  return (mDatabaseHandler->removeMainConnectionDB(mainConnectionID));
225 }
226 
228 {
229  return (mDatabaseHandler->removeSinkDB(sinkID));
230 }
231 
233 {
234  return (mDatabaseHandler->removeSourceDB(sourceID));
235 }
236 
238 {
239  return (mDatabaseHandler->removeGatewayDB(gatewayID));
240 }
241 
243 {
244  return (mDatabaseHandler->removeConverterDB(converterID));
245 }
246 
248 {
249  return (mDatabaseHandler->removeCrossfaderDB(crossfaderID));
250 }
251 
253 {
254  return (mDatabaseHandler->removeDomainDB(domainID));
255 }
256 
258 {
259  return (mDatabaseHandler->getSourceClassInfoDB(sourceID, classInfo));
260 }
261 
263 {
264  return (mDatabaseHandler->getSinkClassInfoDB(sinkID, sinkClass));
265 }
266 
268 {
269  return (mDatabaseHandler->getSinkInfoDB(sinkID, sinkData));
270 }
271 
273 {
274  return (mDatabaseHandler->getSourceInfoDB(sourceID, sourceData));
275 }
276 
278 {
279  return (mDatabaseHandler->getMainConnectionInfoDB(mainConnectionID, mainConnectionData));
280 }
281 
283 {
284  return (mDatabaseHandler->getGatewayInfoDB(gatewayID, gatewayData));
285 }
286 
288 {
289  return (mDatabaseHandler->getConverterInfoDB(converterID, converterData));
290 }
291 
292 
294 {
295  return (mDatabaseHandler->getCrossfaderInfoDB(crossfaderID, crossfaderData));
296 }
297 
298 am_Error_e CAmControlReceiver::getListSinksOfDomain(const am_domainID_t domainID, std::vector<am_sinkID_t> & listSinkID) const
299 {
300  return (mDatabaseHandler->getListSinksOfDomain(domainID, listSinkID));
301 }
302 
303 am_Error_e CAmControlReceiver::getListSourcesOfDomain(const am_domainID_t domainID, std::vector<am_sourceID_t> & listSourceID) const
304 {
305  return (mDatabaseHandler->getListSourcesOfDomain(domainID, listSourceID));
306 }
307 
308 am_Error_e CAmControlReceiver::getListCrossfadersOfDomain(const am_domainID_t domainID, std::vector<am_crossfaderID_t> & listGatewaysID) const
309 {
310  return (mDatabaseHandler->getListCrossfadersOfDomain(domainID, listGatewaysID));
311 }
312 
313 am_Error_e CAmControlReceiver::getListGatewaysOfDomain(const am_domainID_t domainID, std::vector<am_gatewayID_t> & listGatewaysID) const
314 {
315  return (mDatabaseHandler->getListGatewaysOfDomain(domainID, listGatewaysID));
316 }
317 
318 am_Error_e CAmControlReceiver::getListConvertersOfDomain(const am_domainID_t domainID,std::vector<am_converterID_t>& listConverterID) const
319 {
320  return (mDatabaseHandler->getListConvertersOfDomain(domainID,listConverterID));
321 }
322 
323 am_Error_e CAmControlReceiver::getListMainConnections(std::vector<am_MainConnection_s> & listMainConnections) const
324 {
325  return (mDatabaseHandler->getListMainConnections(listMainConnections));
326 }
327 
328 am_Error_e CAmControlReceiver::getListDomains(std::vector<am_Domain_s> & listDomains) const
329 {
330  return (mDatabaseHandler->getListDomains(listDomains));
331 }
332 
333 am_Error_e CAmControlReceiver::getListConnections(std::vector<am_Connection_s> & listConnections) const
334 {
335  return (mDatabaseHandler->getListConnections(listConnections));
336 }
337 
338 am_Error_e CAmControlReceiver::getListSinks(std::vector<am_Sink_s> & listSinks) const
339 {
340  return (mDatabaseHandler->getListSinks(listSinks));
341 }
342 
343 am_Error_e CAmControlReceiver::getListSources(std::vector<am_Source_s> & listSources) const
344 {
345  return (mDatabaseHandler->getListSources(listSources));
346 }
347 
348 am_Error_e CAmControlReceiver::getListSourceClasses(std::vector<am_SourceClass_s> & listSourceClasses) const
349 {
350  return (mDatabaseHandler->getListSourceClasses(listSourceClasses));
351 }
352 
353 am_Error_e CAmControlReceiver::getListHandles(std::vector<am_Handle_s> & listHandles) const
354 {
355  return (mRoutingSender->getListHandles(listHandles));
356 }
357 
358 am_Error_e CAmControlReceiver::getListCrossfaders(std::vector<am_Crossfader_s> & listCrossfaders) const
359 {
360  return (mDatabaseHandler->getListCrossfaders(listCrossfaders));
361 }
362 
363 am_Error_e CAmControlReceiver::getListGateways(std::vector<am_Gateway_s> & listGateways) const
364 {
365  return (mDatabaseHandler->getListGateways(listGateways));
366 }
367 
368 am_Error_e CAmControlReceiver::getListConverters(std::vector<am_Converter_s>& listConverters) const
369 {
370  return (mDatabaseHandler->getListConverters(listConverters));
371 }
372 
373 am_Error_e CAmControlReceiver::getListSinkClasses(std::vector<am_SinkClass_s> & listSinkClasses) const
374 {
375  return (mDatabaseHandler->getListSinkClasses(listSinkClasses));
376 }
377 
378 am_Error_e CAmControlReceiver::getListSystemProperties(std::vector<am_SystemProperty_s> & listSystemProperties) const
379 {
380  return (mDatabaseHandler->getListSystemProperties(listSystemProperties));
381 }
382 
384 {
385  return (mDatabaseHandler->changeSinkClassInfoDB(classInfo));
386 }
387 
389 {
390  return(mDatabaseHandler->changeSourceClassInfoDB(classInfo));
391 }
392 
394 {
395  return (mDatabaseHandler->removeSinkClassDB(sinkClassID));
396 }
397 
399 {
400  return (mDatabaseHandler->removeSourceClassDB(sourceClassID));
401 }
402 
404 {
405  logInfo("CAmControlReceiver::setCommandReady got called");
406  mCommandSender->setCommandReady();
407 }
408 
410 {
411  logInfo("CAmControlReceiver::setRoutingReady got called");
412  mRoutingSender->setRoutingReady();
413 }
414 
416 {
417  if (error!=E_OK)
418  logError("CAmControlReceiver::confirmControllerReady controller reported error", error);
419 }
420 
422 {
423  if (error!=E_OK)
424  {
425  logError("CAmControlReceiver::confirmControllerRundown() exited with error ",error);
426  //we might be blocked here -> so lets better exit right away
427  throw std::runtime_error("controller Confirmed with error");
428  }
429 
430  logInfo ("CAmControlReceiver::confirmControllerRundown(), will exit now");
431 
432  //end the mainloop here...
433  mSocketHandler->exit_mainloop();
434 }
435 
437 {
438  socketHandler = mSocketHandler;
439  return (E_OK);
440 }
441 
443 {
444  logInfo("CAmControlReceiver::setCommandRundown got called");
445  mCommandSender->setCommandRundown();
446 }
447 
449 {
450  logInfo("CAmControlReceiver::setRoutingRundown got called");
451  mRoutingSender->setRoutingRundown();
452 }
453 
454 void CAmControlReceiver::getInterfaceVersion(std::string & version) const
455 {
456  version = ControlVersion;
457 }
458 
459 am_Error_e CAmControlReceiver::changeSourceDB(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector<am_SoundProperty_s>& listSoundProperties, const std::vector<am_CustomConnectionFormat_t>& listConnectionFormats, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties)
460 {
461  return (mDatabaseHandler->changeSourceDB(sourceID,sourceClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
462 }
463 
464 am_Error_e CAmControlReceiver::changeSinkDB(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector<am_SoundProperty_s>& listSoundProperties, const std::vector<am_CustomConnectionFormat_t>& listConnectionFormats, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties)
465 {
466  return (mDatabaseHandler->changeSinkDB(sinkID,sinkClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
467 }
468 
469 am_Error_e CAmControlReceiver::changeGatewayDB(const am_gatewayID_t gatewayID, const std::vector<am_CustomConnectionFormat_t>& listSourceConnectionFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkConnectionFormats, const std::vector<bool>& convertionMatrix)
470 {
471  return (mDatabaseHandler->changeGatewayDB(gatewayID,listSourceConnectionFormats,listSinkConnectionFormats,convertionMatrix));
472 }
473 
474 am_Error_e CAmControlReceiver::changeConverterDB(const am_converterID_t converterID, const std::vector<am_CustomConnectionFormat_t>& listSourceConnectionFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkConnectionFormats, const std::vector<bool>& convertionMatrix)
475 {
476  return (mDatabaseHandler->changeConverterDB(converterID,listSourceConnectionFormats,listSinkConnectionFormats,convertionMatrix));
477 }
478 
479 am_Error_e CAmControlReceiver::setVolumes(am_Handle_s& handle, const std::vector<am_Volumes_s>& listVolumes)
480 {
481  return (mRoutingSender->asyncSetVolumes(handle,listVolumes));
482 }
483 
485 {
486  return (mRoutingSender->asyncSetSinkNotificationConfiguration(handle,sinkID,notificationConfiguration));
487 }
488 
490 {
491  return (mRoutingSender->asyncSetSourceNotificationConfiguration(handle,sourceID,notificationConfiguration));
492 }
493 
495 {
496  logInfo(__func__,"sinkID=",sinkID,"type=",notificationPayload.type,"value=",notificationPayload.value);
497  mCommandSender->cbSinkNotification(sinkID,notificationPayload);
498 }
499 
501 {
502  logInfo(__func__,"sourceID=",sourceID,"type=",notificationPayload.type,"value=",notificationPayload.value);
503  mCommandSender->cbSourceNotification(sourceID,notificationPayload);
504 }
505 
507 {
508  logVerbose(__func__,"sinkID", sinkID);
509  return (mDatabaseHandler->changeMainSinkNotificationConfigurationDB(sinkID,mainNotificationConfiguration));
510 }
511 
513 {
514  logVerbose(__func__,"sourceID", sourceID);
515  return (mDatabaseHandler->changeMainSourceNotificationConfigurationDB(sourceID,mainNotificationConfiguration));
516 }
517 
518 am_Error_e CAmControlReceiver::getListMainSinkSoundProperties(const am_sinkID_t sinkID, std::vector<am_MainSoundProperty_s>& listSoundproperties) const
519 {
520  logVerbose(__func__,"sinkID", sinkID);
521  return (mDatabaseHandler->getListMainSinkSoundProperties(sinkID,listSoundproperties));
522 }
523 
524 am_Error_e CAmControlReceiver::getListMainSourceSoundProperties(const am_sourceID_t sourceID, std::vector<am_MainSoundProperty_s>& listSoundproperties) const
525 {
526  logVerbose(__func__,"sourceID", sourceID);
527  return (mDatabaseHandler->getListMainSourceSoundProperties(sourceID, listSoundproperties));
528 }
529 
530 am_Error_e CAmControlReceiver::getListSinkSoundProperties(const am_sinkID_t sinkID, std::vector<am_SoundProperty_s>& listSoundproperties) const
531 {
532  logVerbose(__func__,"sinkID", sinkID);
533  return (mDatabaseHandler->getListSinkSoundProperties(sinkID,listSoundproperties));
534 }
535 
536 am_Error_e CAmControlReceiver::getListSourceSoundProperties(const am_sourceID_t sourceID, std::vector<am_SoundProperty_s>& listSoundproperties) const
537 {
538  logVerbose(__func__,"sourceID", sourceID);
539  return (mDatabaseHandler->getListSourceSoundProperties(sourceID, listSoundproperties));
540 }
541 
543 {
544  logVerbose(__func__,"sinkID", sinkID);
545  return (mDatabaseHandler->getMainSinkSoundPropertyValue(sinkID,propertyType,value));
546 }
547 
549 {
550  logVerbose(__func__,"sinkID", sinkID);
551  return (mDatabaseHandler->getSinkSoundPropertyValue(sinkID,propertyType,value));
552 }
553 
555 {
556  logVerbose(__func__,"sourceID", sourceID);
557  return (mDatabaseHandler->getMainSourceSoundPropertyValue(sourceID,propertyType,value));
558 }
559 
561 {
562  logVerbose(__func__,"sourceID", sourceID);
563  return (mDatabaseHandler->getSourceSoundPropertyValue(sourceID,propertyType,value));
564 }
565 
566 am_Error_e CAmControlReceiver::resyncConnectionState(const am_domainID_t domainID,std::vector<am_Connection_s>& listOfExistingConnections)
567 {
568  logInfo(__func__,"domainID", domainID);
569  return (mRoutingSender->resyncConnectionState(domainID,listOfExistingConnections));
570 }
571 
573 {
574  logInfo(__func__,"handle", handle.handle);
575  return (mRoutingSender->removeHandle(handle));
576 }
577 
578 }
579 
am_Error_e changeSinkMuteStateDB(const am_MuteState_e muteState, const am_sinkID_t sinkID)
changes the mute state of a sink
virtual am_Error_e getListSinksOfDomain(const am_domainID_t domainID, std::vector< am_sinkID_t > &listSinkID) const =0
virtual am_Error_e getListConnections(std::vector< am_Connection_s > &listConnections) const =0
Implements the RoutingSendInterface.
virtual am_Error_e enterGatewayDB(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)=0
virtual am_Error_e getListDomains(std::vector< am_Domain_s > &listDomains) const =0
am_Error_e asyncAbort(const am_Handle_s &handle)
virtual am_Error_e changeMainSinkNotificationConfigurationDB(const am_sinkID_t sinkID, const am_NotificationConfiguration_s mainNotificationConfiguration)=0
uint16_t am_connectionID_t
a connection ID
virtual am_Error_e removeMainConnectionDB(const am_mainConnectionID_t mainConnectionID)=0
uint16_t am_CustomSoundPropertyType_t
Within genivi only the some example properties are defined.
virtual am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const =0
am_Error_e getListConverters(std::vector< am_Converter_s > &listConverters) const
returns a list of converters
am_Error_e changeGatewayDB(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFormats, const std::vector< bool > &convertionMatrix)
changes Gateway Data
am_Error_e getListConnections(std::vector< am_Connection_s > &listConnections) const
returns a complete list of all Connections
uint16_t am_sinkClass_t
void sendMainSourceNotificationPayload(const am_sourceID_t sourceID, const am_NotificationPayload_s &notificationPayload)
Sends out the main notificiation of a source.
am_Error_e
the errors of the audiomanager.
virtual am_Error_e changeMainConnectionRouteDB(const am_mainConnectionID_t mainconnectionID, const std::vector< am_connectionID_t > &listConnectionID)=0
am_Error_e getListMainConnections(std::vector< am_MainConnection_s > &listMainConnections) const
returns a complete list of all MainConnections
This struct holds information about the configuration for notifications.
void logInfo(T value, TArgs...args)
logs given values with infolevel with the default context
am_Error_e setSinkSoundProperties(am_Handle_s &handle, const am_sinkID_t sinkID, const std::vector< am_SoundProperty_s > &soundProperty)
is used to set several sinkSoundProperties at a time
am_Error_e getListHandles(std::vector< am_Handle_s > &listHandles) const
am_Error_e getRoute(const bool onlyfree, const am_sourceID_t sourceID, const am_sinkID_t sinkID, std::vector< am_Route_s > &returnList)
calculates a route from source to sink.
virtual am_Error_e changeSourceAvailabilityDB(const am_Availability_s &availability, const am_sourceID_t sourceID)=0
virtual am_Error_e getGatewayInfoDB(const am_gatewayID_t gatewayID, am_Gateway_s &gatewayData) const =0
struct describing source classes
am_Error_e getListCrossfaders(std::vector< am_Crossfader_s > &listCrossfaders) const
returns a list of all crossfaders
am_Error_e setVolumes(am_Handle_s &handle, const std::vector< am_Volumes_s > &listVolumes)
with this function, setting of multiple volumes at a time is done.
This struct describes the attribiutes of a sink.
This struct holds the payload of a notification.
virtual am_Error_e changeMainSourceSoundPropertyDB(const am_MainSoundProperty_s &soundProperty, const am_sourceID_t sourceID)=0
am_Error_e removeSinkDB(const am_sinkID_t sinkID)
removes a sink from the DB
virtual am_Error_e getListSourceClasses(std::vector< am_SourceClass_s > &listSourceClasses) const =0
am_Error_e asyncCrossFade(am_Handle_s &handle, const am_crossfaderID_t crossfaderID, const am_HotSink_e hotSink, const am_CustomRampType_t rampType, const am_time_t time)
am_Error_e getMainSourceSoundPropertyValue(const am_sourceID_t sourceID, const am_CustomMainSoundPropertyType_t propertyType, int16_t &value) const
This function retrieves the value of a source Mainsoundproperty.
am_Error_e getListGateways(std::vector< am_Gateway_s > &listGateways) const
returns a list of gateways
virtual am_Error_e changeSourceDB(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)=0
This struct describes the attribiutes of a domain.
am_Error_e setSourceSoundProperty(am_Handle_s &handle, const am_sourceID_t sourceID, const am_SoundProperty_s &soundProperty)
is used to set sourceSoundProperties
virtual am_Error_e getListMainSourceSoundProperties(const am_sourceID_t sourceID, std::vector< am_MainSoundProperty_s > &listSourceProperties) const =0
am_Error_e getListDomains(std::vector< am_Domain_s > &listDomains) const
returns a complete list of all domains
am_Error_e setSourceVolume(am_Handle_s &handle, const am_sourceID_t sourceID, const am_volume_t volume, const am_CustomRampType_t rampType, const am_time_t time)
with this function, setting of source volumes is done.
Implements an autorouting algorithm for connecting sinks and sources via different audio domains...
Definition: CAmRouter.h:152
am_Error_e getSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomSoundPropertyType_t propertyType, int16_t &value) const
This function retrieves the value of a sink soundproperty.
am_Error_e changeSourceClassInfoDB(const am_SourceClass_s &sourceClass)
changes class information of a sourceClass.
am_Error_e changDomainStateDB(const am_DomainState_e domainState, const am_domainID_t domainID)
changes the domainstate of a domain
void getInterfaceVersion(std::string &version) const
This function returns the version of the interface.
am_Error_e getMainSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomMainSoundPropertyType_t propertyType, int16_t &value) const
This function retrieves the value of a sink Mainsoundproperty.
#define ControlVersion
Definition: IAmControl.h:35
uint16_t am_crossfaderID_t
a crossfader ID
am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const
returns sources and the sink of a crossfader
uint16_t am_CustomConnectionFormat_t
This type classifies the format in which data is exchanged within a connection.
void cbSourceNotification(const am_sourceID_t sourceID, const am_NotificationPayload_s &notification)
The am::CAmSocketHandler implements a mainloop for the AudioManager.
am_Error_e removeSinkClassDB(const am_sinkClass_t sinkClassID)
removes a domain from the DB
void sendMainSinkNotificationPayload(const am_sinkID_t sinkID, const am_NotificationPayload_s &notificationPayload)
Sends out the main notificiation of a sink.
uint16_t am_CustomMainSoundPropertyType_t
Here are all SoundProperties that can be set via the CommandInterface.
am_Error_e changeMainSinkNotificationConfigurationDB(const am_sinkID_t sinkID, const am_NotificationConfiguration_s &mainNotificationConfiguration)
change the mainNotificationConfiguration of a sink
am_Error_e enterSinkDB(const am_Sink_s &sinkData, am_sinkID_t &sinkID)
enters a sink in the database.
am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const
returns the sourcekData of a source
virtual am_Error_e getListCrossfadersOfDomain(const am_domainID_t domainID, std::vector< am_crossfaderID_t > &listGatewaysID) const =0
am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID)
enters a mainconnection in the database, creates and ID
am_Error_e asyncSetSinkSoundProperty(am_Handle_s &handle, const am_sinkID_t sinkID, const am_SoundProperty_s &soundProperty)
am_Error_e setDomainState(const am_domainID_t domainID, const am_DomainState_e domainState)
am_Error_e disconnect(am_Handle_s &handle, const am_connectionID_t connectionID)
is used to disconnect a connection
virtual am_Error_e removeCrossfaderDB(const am_crossfaderID_t crossfaderID)=0
am_Error_e asyncDisconnect(am_Handle_s &handle, const am_connectionID_t connectionID)
void setRoutingRundown()
sets the routinginterface to the rundown state.
am_Error_e connect(am_Handle_s &handle, am_connectionID_t &connectionID, const am_CustomConnectionFormat_t format, const am_sourceID_t sourceID, const am_sinkID_t sinkID)
With this function, elementary connects can be triggered by the controller.
am_Error_e getSocketHandler(CAmSocketHandler *&socketHandler)
This function returns the pointer to the socketHandler.
SPDX license identifier: MPL-2.0.
struct that holds attribiutes of a mainconnection
am_Error_e getListCrossfadersOfDomain(const am_domainID_t domainID, std::vector< am_crossfaderID_t > &listCrossfadersID) const
returns all crossfaders of a domain
virtual am_Error_e getSourceSoundPropertyValue(const am_sourceID_t sourceID, const am_CustomSoundPropertyType_t propertyType, int16_t &value) const =0
am_Error_e getSourceClassInfoDB(const am_sourceID_t sourceID, am_SourceClass_s &classInfo) const
returns the ClassInformation of a source
virtual am_Error_e getSinkClassInfoDB(const am_sinkID_t sinkID, am_SinkClass_s &sinkClass) const =0
am_Error_e changeSystemPropertyDB(const am_SystemProperty_s &property)
changes a systemProperty
SPDX license identifier: MPL-2.0.
am_CustomNotificationType_t type
This defines the notification type.
virtual am_Error_e getListSinks(std::vector< am_Sink_s > &listSinks) const =0
SPDX license identifier: MPL-2.0.
virtual am_Error_e changeMainSourceNotificationConfigurationDB(const am_sourceID_t sourceID, const am_NotificationConfiguration_s mainNotificationConfiguration)=0
virtual am_Error_e changeGatewayDB(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFormats, const std::vector< bool > &convertionMatrix)=0
am_Error_e setDomainState(const am_domainID_t domainID, const am_DomainState_e domainState)
sets the domain state of a domain
am_Error_e enterCrossfaderDB(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)
enters a crossfader in the database.
virtual am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const =0
struct describing system properties
am_Error_e removeCrossfaderDB(const am_crossfaderID_t crossfaderID)
removes a crossfader from the DB
uint16_t am_converterID_t
a converter ID
void logVerbose(T value, TArgs...args)
logs given values with verbose with the default context
am_Error_e enterSourceClassDB(am_sourceClass_t &sourceClassID, const am_SourceClass_s &sourceClass)
Enters a sourceClass into the database.
int16_t value
This is finally the value of the notification.
virtual am_Error_e removeGatewayDB(const am_gatewayID_t gatewayID)=0
am_Error_e asyncSetSourceVolume(am_Handle_s &handle, const am_sourceID_t sourceID, const am_volume_t volume, const am_CustomRampType_t ramp, const am_time_t time)
virtual am_Error_e enterConverterDB(const am_Converter_s &converteData, am_converterID_t &converterID)=0
struct describung mainsound property
am_Error_e changeSinkDB(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
Change the data of the sink.
am_Error_e asyncSetSourceSoundProperty(am_Handle_s &handle, const am_sourceID_t sourceID, const am_SoundProperty_s &soundProperty)
virtual am_Error_e getMainSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomMainSoundPropertyType_t propertyType, int16_t &value) const =0
virtual am_Error_e getListSinkSoundProperties(const am_sinkID_t sinkID, std::vector< am_SoundProperty_s > &listSoundproperties) const =0
virtual am_Error_e changeMainSinkSoundPropertyDB(const am_MainSoundProperty_s &soundProperty, const am_sinkID_t sinkID)=0
virtual am_Error_e removeSourceDB(const am_sourceID_t sourceID)=0
SPDX license identifier: MPL-2.0.
virtual am_Error_e changeDomainStateDB(const am_DomainState_e domainState, const am_domainID_t domainID)=0
virtual am_Error_e changeSinkAvailabilityDB(const am_Availability_s &availability, const am_sinkID_t sinkID)=0
void setCommandRundown()
sets the command interface into the rundown state.
am_Error_e resyncConnectionState(const am_domainID_t domainID, std::vector< am_Connection_s > &listOfExistingConnections)
am_Error_e enterSinkClassDB(const am_SinkClass_s &sinkClass, am_sinkClass_t &sinkClassID)
Enters a sourceClass into the database.
am_Error_e asyncSetSourceSoundProperties(am_Handle_s &handle, const std::vector< am_SoundProperty_s > &listSoundProperties, const am_sourceID_t sourceID)
a handle is used for asynchronous operations and is uniquely assigned for each of this operations ...
am_Error_e resyncConnectionState(const am_domainID_t domainID, std::vector< am_Connection_s > &listOfExistingConnections)
Retrieves a list of all current active connections from a domain.
am_Error_e getListSinks(std::vector< am_Sink_s > &listSinks) const
returns a list of all sinks
am_Error_e changeMainSourceSoundPropertyDB(const am_MainSoundProperty_s &soundProperty, const am_sourceID_t sourceID)
changes the mainsourcesoundproperty of a sink
uint16_t am_sourceID_t
a source ID
virtual am_Error_e enterSinkClassDB(const am_SinkClass_s &sinkClass, am_sinkClass_t &sinkClassID)=0
void cbSinkNotification(const am_sinkID_t sinkID, const am_NotificationPayload_s &notification)
virtual am_Error_e removeSourceClassDB(const am_sourceClass_t sourceClassID)=0
am_Error_e asyncSetSinkSoundProperties(am_Handle_s &handle, const std::vector< am_SoundProperty_s > &listSoundProperties, const am_sinkID_t sinkID)
struct describing the sound property
virtual am_Error_e getListSources(std::vector< am_Source_s > &lisSources) const =0
am_Error_e asyncSetSourceState(am_Handle_s &handle, const am_sourceID_t sourceID, const am_SourceState_e state)
am_Error_e removeHandle(const am_Handle_s handle)
This function searches for a handle in the RoutingSender and removes it if found. ...
am_Error_e abortAction(const am_Handle_s handle)
with this method, all actions that have a handle assigned can be stopped.
am_Error_e getSinkClassInfoDB(const am_sinkID_t sinkID, am_SinkClass_s &sinkClass) const
returns the ClassInformation of a sink
virtual am_Error_e getListConverters(std::vector< am_Converter_s > &listConverters) const =0
am_Error_e enterConverterDB(const am_Converter_s &converterData, am_converterID_t &converterID)
enters a converter in the database.
virtual am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const =0
am_Error_e changeSourceAvailabilityDB(const am_Availability_s &availability, const am_sourceID_t sourceID)
changes the availablility of a source
struct describing sinkclasses
virtual am_Error_e getListCrossfaders(std::vector< am_Crossfader_s > &listCrossfaders) const =0
am_Error_e setSinkNotificationConfiguration(am_Handle_s &handle, const am_sinkID_t sinkID, const am_NotificationConfiguration_s &notificationConfiguration)
set a sink notification configuration
am_Error_e getGatewayInfoDB(const am_gatewayID_t gatewayID, am_Gateway_s &gatewayData) const
return source and sink of a gateway
am_Error_e getListSourcesOfDomain(const am_domainID_t domainID, std::vector< am_sourceID_t > &listSourceID) const
returns all source of a domain
am_Error_e setSourceSoundProperties(am_Handle_s &handle, const am_sourceID_t sourceID, const std::vector< am_SoundProperty_s > &soundProperty)
is used to set several SourceSoundProperties at a time
am_Error_e getListSinkClasses(std::vector< am_SinkClass_s > &listSinkClasses) const
returns a list of all sink classes
virtual am_Error_e changeMainConnectionStateDB(const am_mainConnectionID_t mainconnectionID, const am_ConnectionState_e connectionState)=0
This class handles and abstracts the database.
am_Error_e enterDomainDB(const am_Domain_s &domainData, am_domainID_t &domainID)
enters a domain in the database, creates and ID
am_Error_e enterSystemPropertiesListDB(const std::vector< am_SystemProperty_s > &listSystemProperties)
This function is used to enter the system Properties into the database.
SPDX license identifier: MPL-2.0.
CAmControlReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmCommandSender *iCommandSender, CAmSocketHandler *iSocketHandler, CAmRouter *iRouter)
am_Error_e changeConverterDB(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFormats, const std::vector< bool > &convertionMatrix)
changes converter Data
virtual am_Error_e changeSinkMainVolumeDB(const am_mainVolume_t mainVolume, const am_sinkID_t sinkID)=0
virtual am_Error_e getListSinkClasses(std::vector< am_SinkClass_s > &listSinkClasses) const =0
am_ConnectionState_e
represents the connection state
virtual am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID)=0
am_Error_e setSourceNotificationConfiguration(am_Handle_s &handle, const am_sourceID_t sourceID, const am_NotificationConfiguration_s &notificationConfiguration)
set a source notification configuration
virtual am_Error_e getListSourceSoundProperties(const am_sourceID_t sourceID, std::vector< am_SoundProperty_s > &listSoundproperties) const =0
am_Error_e enterSourceDB(const am_Source_s &sourceData, am_sourceID_t &sourceID)
enters a source in the database.
This struct describes the attributes of a converter.
virtual am_Error_e getListGatewaysOfDomain(const am_domainID_t domainID, std::vector< am_gatewayID_t > &listGatewaysID) const =0
virtual am_Error_e getConverterInfoDB(const am_converterID_t converterID, am_Converter_s &converterData) const =0
virtual am_Error_e removeSinkDB(const am_sinkID_t sinkID)=0
virtual am_Error_e removeDomainDB(const am_domainID_t domainID)=0
virtual am_Error_e getListSourcesOfDomain(const am_domainID_t domainID, std::vector< am_sourceID_t > &listSourceID) const =0
am_Error_e getListMainSinkSoundProperties(const am_sinkID_t sinkID, std::vector< am_MainSoundProperty_s > &listSoundproperties) const
This function retrieves a list of all sink mainsoundproperties with its values.
am_HotSink_e
describes the active sink of a crossfader.
int16_t am_volume_t
The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE).
This struct describes the attribiutes of a crossfader.
am_Error_e asyncSetSinkVolume(am_Handle_s &handle, const am_sinkID_t sinkID, const am_volume_t volume, const am_CustomRampType_t ramp, const am_time_t time)
am_Error_e getListSinkSoundProperties(const am_sinkID_t sinkID, std::vector< am_SoundProperty_s > &listSoundproperties) const
This function retrieves a list of all sink soundproperties with its values.
am_Error_e enterGatewayDB(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)
enters a gateway in the database.
am_Error_e getListSourceClasses(std::vector< am_SourceClass_s > &listSourceClasses) const
returns a list of all source classes
am_Error_e getConverterInfoDB(const am_converterID_t converterID, am_Converter_s &converterData) const
return source and sink of a converter
virtual am_Error_e changeConverterDB(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFormats, const std::vector< bool > &convertionMatrix)=0
virtual am_Error_e getListMainSinkSoundProperties(const am_sinkID_t sinkID, std::vector< am_MainSoundProperty_s > &listSoundProperties) const =0
am_Error_e setSinkVolume(am_Handle_s &handle, const am_sinkID_t sinkID, const am_volume_t volume, const am_CustomRampType_t ramp, const am_time_t time)
with this function, setting of sinks volumes is done.
uint16_t am_sourceClass_t
SPDX license identifier: MPL-2.0.
virtual am_Error_e getListSystemProperties(std::vector< am_SystemProperty_s > &listSystemProperties) const =0
virtual am_Error_e enterSourceClassDB(am_sourceClass_t &sourceClassID, const am_SourceClass_s &sourceClass)=0
am_Error_e getListGatewaysOfDomain(const am_domainID_t domainID, std::vector< am_gatewayID_t > &listGatewaysID) const
returns all gateways of a domain
am_Error_e getListSystemProperties(std::vector< am_SystemProperty_s > &listSystemProperties) const
returns the list of SystemProperties
this describes the availability of a sink or a source together with the latest change ...
am_Error_e getListSourceSoundProperties(const am_sourceID_t sourceID, std::vector< am_SoundProperty_s > &listSoundproperties) const
This function retrieves a list of all sink soundproperties with its values.
uint16_t handle
the handle as value
am_Error_e getSourceSoundPropertyValue(const am_sourceID_t sourceID, const am_CustomSoundPropertyType_t propertyType, int16_t &value) const
This function retrieves the value of a source soundproperty.
This struct describes the attributes of a gateway.
void logError(T value, TArgs...args)
logs given values with errorlevel with the default context
virtual am_Error_e getListGateways(std::vector< am_Gateway_s > &listGateways) const =0
am_Error_e getListSinksOfDomain(const am_domainID_t domainID, std::vector< am_sinkID_t > &listSinkID) const
returns all sinks of a domain
virtual am_Error_e getListConvertersOfDomain(const am_domainID_t domainID, std::vector< am_converterID_t > &listConvertersID) const =0
am_Error_e removeHandle(const am_Handle_s &handle)
removes a handle from the list
virtual am_Error_e changeSourceClassInfoDB(const am_SourceClass_s &sourceClass)=0
am_Error_e changeMainSourceNotificationConfigurationDB(const am_sourceID_t sourceID, const am_NotificationConfiguration_s &mainNotificationConfiguration)
change the mainNotificationConfiguration of a source
uint16_t am_time_t
time in ms!
am_Error_e removeSourceDB(const am_sourceID_t sourceID)
removes a source from the DB
am_Error_e removeSourceClassDB(const am_sourceClass_t sourceClassID)
removes a domain from the DB
am_Error_e removeMainConnectionDB(const am_mainConnectionID_t mainConnectionID)
removes a mainconnection from the DB
virtual am_Error_e enterSinkDB(const am_Sink_s &sinkData, am_sinkID_t &sinkID)=0
am_Error_e removeGatewayDB(const am_gatewayID_t gatewayID)
removes a gateway from the DB
void setCommandReady()
sets the command interface to ready.
am_Error_e getListConvertersOfDomain(const am_domainID_t domainID, std::vector< am_converterID_t > &listConverterID) const
returns all converters of a domain
SPDX license identifier: MPL-2.0.
am_Error_e changeSourceDB(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
Change the data of the source.
uint16_t am_domainID_t
a domain ID
int16_t am_mainVolume_t
This is the volume presented on the command interface.
no error - positive reply
am_Error_e crossfade(am_Handle_s &handle, const am_HotSink_e hotSource, const am_crossfaderID_t crossfaderID, const am_CustomRampType_t rampType, const am_time_t rampTime)
triggers a cross fade.
virtual am_Error_e changeSinkDB(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)=0
virtual am_Error_e enterSystemProperties(const std::vector< am_SystemProperty_s > &listSystemProperties)=0
am_Error_e changeSinkAvailabilityDB(const am_Availability_s &availability, const am_sinkID_t sinkID)
changes the availablility of a sink
am_Error_e getListHandles(std::vector< am_Handle_s > &listHandles) const
returns a list of all handles
am_Error_e getListSources(std::vector< am_Source_s > &listSources) const
returns a list of all sources
am_Error_e asyncSetVolumes(am_Handle_s &handle, const std::vector< am_Volumes_s > &listVolumes)
virtual am_Error_e changeSinkMuteStateDB(const am_MuteState_e muteState, const am_sinkID_t sinkID)=0
uint16_t am_gatewayID_t
a gateway ID
This struct describes the attribiutes of a source.
virtual am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const =0
virtual am_Error_e removeConverterDB(const am_converterID_t converterID)=0
uint16_t am_CustomRampType_t
The given ramp types here are just examples.
am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const
returns sources and the sink of a crossfader
am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const
returns the sinkData of a sink
virtual am_Error_e getListMainConnections(std::vector< am_MainConnection_s > &listMainConnections) const =0
This class is used to send data to the CommandInterface.
virtual am_Error_e removeSinkClassDB(const am_sinkClass_t sinkClassID)=0
am_Error_e getListMainSourceSoundProperties(const am_sourceID_t sourceID, std::vector< am_MainSoundProperty_s > &listSoundproperties) const
This function retrieves a list of all source mainsoundproperties with its values. ...
virtual am_Error_e enterCrossfaderDB(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)=0
uint16_t am_sinkID_t
a sink ID
uint16_t am_mainConnectionID_t
a mainConnection ID
am_Error_e changeSinkClassInfoDB(const am_SinkClass_s &sinkClass)
changes class information of a sinkclass.
am_Error_e asyncSetSinkNotificationConfiguration(am_Handle_s &handle, const am_sinkID_t sinkID, const am_NotificationConfiguration_s &notificationConfiguration)
void confirmControllerReady(const am_Error_e error)
acknowledges the setControllerReady call.
virtual am_Error_e enterSourceDB(const am_Source_s &sourceData, am_sourceID_t &sourceID)=0
am_Error_e setSinkSoundProperty(am_Handle_s &handle, const am_sinkID_t sinkID, const am_SoundProperty_s &soundProperty)
is used to set sinkSoundProperties
am_Error_e changeMainSinkSoundPropertyDB(const am_MainSoundProperty_s &soundProperty, const am_sinkID_t sinkID)
changes the mainsinksoundproperty of a sink
am_SourceState_e
The source state reflects the state of the source.
virtual am_Error_e changeSinkClassInfoDB(const am_SinkClass_s &sinkClass)=0
am_Error_e getRoute(const bool onlyfree, const am_sourceID_t sourceID, const am_sinkID_t sinkID, std::vector< am_Route_s > &returnList)
Finds all possible paths between given source and sink.
Definition: CAmRouter.cpp:82
virtual am_Error_e enterDomainDB(const am_Domain_s &domainData, am_domainID_t &domainID)=0
virtual am_Error_e getSourceClassInfoDB(const am_sourceID_t sourceID, am_SourceClass_s &classInfo) const =0
am_Error_e asyncConnect(am_Handle_s &handle, am_connectionID_t &connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_CustomConnectionFormat_t connectionFormat)
am_Error_e asyncSetSourceNotificationConfiguration(am_Handle_s &handle, const am_sourceID_t sourceID, const am_NotificationConfiguration_s &notificationConfiguration)
am_Error_e removeConverterDB(const am_converterID_t converterID)
removes a converter from the DB
virtual am_Error_e getSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomSoundPropertyType_t propertyType, int16_t &value) const =0
virtual am_Error_e changeSystemPropertyDB(const am_SystemProperty_s &property)=0
am_Error_e setSourceState(am_Handle_s &handle, const am_sourceID_t sourceID, const am_SourceState_e state)
this method sets a source state for a source.
void confirmControllerRundown(const am_Error_e error)
Acknowledges the setControllerRundown call.
am_Error_e removeDomainDB(const am_domainID_t domainID)
removes a domain from the DB
void setRoutingReady()
sets the routinginterface to ready.
am_Error_e changeMainConnectionRouteDB(const am_mainConnectionID_t mainconnectionID, const std::vector< am_connectionID_t > &listConnectionID)
changes the mainConnectionState of MainConnection
am_Error_e changeSinkMainVolumeDB(const am_mainVolume_t mainVolume, const am_sinkID_t sinkID)
changes the sink volume of a sink
virtual am_Error_e getMainSourceSoundPropertyValue(const am_sourceID_t sourceID, const am_CustomMainSoundPropertyType_t propertyType, int16_t &value) const =0
am_Error_e changeMainConnectionStateDB(const am_mainConnectionID_t mainconnectionID, const am_ConnectionState_e connectionState)
changes the mainConnectionState of MainConnection