AudioManager  7.6.6
Native Application Runtime Environment
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 #define __METHOD_NAME__ std::string (std::string("CAmControlReceiver::") + __func__)
39 
40 CAmControlReceiver::CAmControlReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmCommandSender *iCommandSender, CAmSocketHandler *iSocketHandler, CAmRouter* iRouter) :
41  mDatabaseHandler(iDatabaseHandler), //
42  mRoutingSender(iRoutingSender), //
43  mCommandSender(iCommandSender), //
44  mSocketHandler(iSocketHandler), //
45  mRouter(iRouter), //
46  mNodeStateCommunicator(NULL)
47 {
48  assert(mDatabaseHandler!=NULL);
49  assert(mRoutingSender!=NULL);
50  assert(mCommandSender!=NULL);
51  assert(mSocketHandler!=NULL);
52  assert(mRouter!=NULL);
53 }
54 
56 {
57 }
58 
59 am_Error_e CAmControlReceiver::getRoute(const bool onlyfree, const am_sourceID_t sourceID, const am_sinkID_t sinkID, std::vector<am_Route_s> & returnList)
60 {
61  return (mRouter->getRoute(onlyfree, sourceID, sinkID, returnList));
62 }
63 
65 {
66  return (mRoutingSender->asyncConnect(handle, connectionID, sourceID, sinkID, format));
67 }
68 
70 {
71  return (mRoutingSender->asyncDisconnect(handle, connectionID));
72 }
73 
74 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)
75 {
76  return (mRoutingSender->asyncCrossFade(handle, crossfaderID, hotSource, rampType, rampTime));
77 }
78 
80 {
81  return (mRoutingSender->asyncSetSourceState(handle, sourceID, state));
82 }
83 
85 {
86  return (mRoutingSender->asyncSetSinkVolume(handle, sinkID, volume, ramp, time));
87 }
88 
89 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)
90 {
91  return (mRoutingSender->asyncSetSourceVolume(handle, sourceID, volume, rampType, time));
92 }
93 
95 {
96  return (mRoutingSender->asyncSetSinkSoundProperty(handle, sinkID, soundProperty));
97 }
98 
99 am_Error_e CAmControlReceiver::setSinkSoundProperties(am_Handle_s & handle, const am_sinkID_t sinkID, const std::vector<am_SoundProperty_s> & listSoundProperties)
100 {
101  return (mRoutingSender->asyncSetSinkSoundProperties(handle, listSoundProperties, sinkID));
102 }
103 
105 {
106  return (mRoutingSender->asyncSetSourceSoundProperty(handle, sourceID, soundProperty));
107 }
108 
109 am_Error_e CAmControlReceiver::setSourceSoundProperties(am_Handle_s & handle, const am_sourceID_t sourceID, const std::vector<am_SoundProperty_s> & listSoundProperties)
110 {
111  return (mRoutingSender->asyncSetSourceSoundProperties(handle, listSoundProperties, sourceID));
112 }
113 
115 {
116  return (mRoutingSender->setDomainState(domainID, domainState));
117 }
118 
120 {
121  return (mRoutingSender->asyncAbort(handle));
122 }
123 
125 {
126  return (mDatabaseHandler->enterDomainDB(domainData, domainID));
127 }
128 
130 {
131  return (mDatabaseHandler->enterMainConnectionDB(mainConnectionData, connectionID));
132 }
133 
135 {
136  return (mDatabaseHandler->enterSinkDB(sinkData, sinkID));
137 }
138 
140 {
141  return (mDatabaseHandler->enterCrossfaderDB(crossfaderData, crossfaderID));
142 }
143 
145 {
146  return (mDatabaseHandler->enterGatewayDB(gatewayData, gatewayID));
147 }
148 
150 {
151  return (mDatabaseHandler->enterConverterDB(converterData, converterID));
152 }
153 
155 {
156  return (mDatabaseHandler->enterSourceDB(sourceData, sourceID));
157 }
158 
160 {
161  return (mDatabaseHandler->enterSinkClassDB(sinkClass, sinkClassID));
162 }
163 
165 {
166  return (mDatabaseHandler->enterSourceClassDB(sourceClassID, sourceClass));
167 }
168 
169 am_Error_e CAmControlReceiver::enterSystemPropertiesListDB(const std::vector<am_SystemProperty_s> & listSystemProperties)
170 {
171  return (mDatabaseHandler->enterSystemProperties(listSystemProperties));
172 }
173 
174 am_Error_e CAmControlReceiver::changeMainConnectionRouteDB(const am_mainConnectionID_t mainconnectionID, const std::vector<am_connectionID_t>& listConnectionID)
175 {
176  return (mDatabaseHandler->changeMainConnectionRouteDB(mainconnectionID, listConnectionID));
177 }
178 
180 {
181  return (mDatabaseHandler->changeMainConnectionStateDB(mainconnectionID, connectionState));
182 }
183 
185 {
186  return (mDatabaseHandler->changeSinkMainVolumeDB(mainVolume, sinkID));
187 }
188 
190 {
191  return (mDatabaseHandler->changeSinkAvailabilityDB(availability, sinkID));
192 }
193 
195 {
196  return (mDatabaseHandler->changeDomainStateDB(domainState, domainID));
197 }
198 
200 {
201  return (mDatabaseHandler->changeSinkMuteStateDB(muteState, sinkID));
202 }
203 
205 {
206  return (mDatabaseHandler->changeMainSinkSoundPropertyDB(soundProperty, sinkID));
207 }
208 
210 {
211  return (mDatabaseHandler->changeMainSourceSoundPropertyDB(soundProperty, sourceID));
212 }
213 
215 {
216  return (mDatabaseHandler->changeSourceAvailabilityDB(availability, sourceID));
217 }
218 
220 {
221  return (mDatabaseHandler->changeSystemPropertyDB(property));
222 }
223 
225 {
226  return (mDatabaseHandler->removeMainConnectionDB(mainConnectionID));
227 }
228 
230 {
231  return (mDatabaseHandler->removeSinkDB(sinkID));
232 }
233 
235 {
236  return (mDatabaseHandler->removeSourceDB(sourceID));
237 }
238 
240 {
241  return (mDatabaseHandler->removeGatewayDB(gatewayID));
242 }
243 
245 {
246  return (mDatabaseHandler->removeConverterDB(converterID));
247 }
248 
250 {
251  return (mDatabaseHandler->removeCrossfaderDB(crossfaderID));
252 }
253 
255 {
256  return (mDatabaseHandler->removeDomainDB(domainID));
257 }
258 
260 {
261  return (mDatabaseHandler->getSourceClassInfoDB(sourceID, classInfo));
262 }
263 
265 {
266  return (mDatabaseHandler->getSinkClassInfoDB(sinkID, sinkClass));
267 }
268 
270 {
271  return (mDatabaseHandler->getSinkInfoDB(sinkID, sinkData));
272 }
273 
275 {
276  return (mDatabaseHandler->getSourceInfoDB(sourceID, sourceData));
277 }
278 
280 {
281  return (mDatabaseHandler->getMainConnectionInfoDB(mainConnectionID, mainConnectionData));
282 }
283 
285 {
286  return (mDatabaseHandler->getGatewayInfoDB(gatewayID, gatewayData));
287 }
288 
290 {
291  return (mDatabaseHandler->getConverterInfoDB(converterID, converterData));
292 }
293 
294 
296 {
297  return (mDatabaseHandler->getCrossfaderInfoDB(crossfaderID, crossfaderData));
298 }
299 
300 am_Error_e CAmControlReceiver::getListSinksOfDomain(const am_domainID_t domainID, std::vector<am_sinkID_t> & listSinkID) const
301 {
302  return (mDatabaseHandler->getListSinksOfDomain(domainID, listSinkID));
303 }
304 
305 am_Error_e CAmControlReceiver::getListSourcesOfDomain(const am_domainID_t domainID, std::vector<am_sourceID_t> & listSourceID) const
306 {
307  return (mDatabaseHandler->getListSourcesOfDomain(domainID, listSourceID));
308 }
309 
310 am_Error_e CAmControlReceiver::getListCrossfadersOfDomain(const am_domainID_t domainID, std::vector<am_crossfaderID_t> & listGatewaysID) const
311 {
312  return (mDatabaseHandler->getListCrossfadersOfDomain(domainID, listGatewaysID));
313 }
314 
315 am_Error_e CAmControlReceiver::getListGatewaysOfDomain(const am_domainID_t domainID, std::vector<am_gatewayID_t> & listGatewaysID) const
316 {
317  return (mDatabaseHandler->getListGatewaysOfDomain(domainID, listGatewaysID));
318 }
319 
320 am_Error_e CAmControlReceiver::getListConvertersOfDomain(const am_domainID_t domainID,std::vector<am_converterID_t>& listConverterID) const
321 {
322  return (mDatabaseHandler->getListConvertersOfDomain(domainID,listConverterID));
323 }
324 
325 am_Error_e CAmControlReceiver::getListMainConnections(std::vector<am_MainConnection_s> & listMainConnections) const
326 {
327  return (mDatabaseHandler->getListMainConnections(listMainConnections));
328 }
329 
330 am_Error_e CAmControlReceiver::getListDomains(std::vector<am_Domain_s> & listDomains) const
331 {
332  return (mDatabaseHandler->getListDomains(listDomains));
333 }
334 
335 am_Error_e CAmControlReceiver::getListConnections(std::vector<am_Connection_s> & listConnections) const
336 {
337  return (mDatabaseHandler->getListConnections(listConnections));
338 }
339 
340 am_Error_e CAmControlReceiver::getListSinks(std::vector<am_Sink_s> & listSinks) const
341 {
342  return (mDatabaseHandler->getListSinks(listSinks));
343 }
344 
345 am_Error_e CAmControlReceiver::getListSources(std::vector<am_Source_s> & listSources) const
346 {
347  return (mDatabaseHandler->getListSources(listSources));
348 }
349 
350 am_Error_e CAmControlReceiver::getListSourceClasses(std::vector<am_SourceClass_s> & listSourceClasses) const
351 {
352  return (mDatabaseHandler->getListSourceClasses(listSourceClasses));
353 }
354 
355 am_Error_e CAmControlReceiver::getListHandles(std::vector<am_Handle_s> & listHandles) const
356 {
357  return (mRoutingSender->getListHandles(listHandles));
358 }
359 
360 am_Error_e CAmControlReceiver::getListCrossfaders(std::vector<am_Crossfader_s> & listCrossfaders) const
361 {
362  return (mDatabaseHandler->getListCrossfaders(listCrossfaders));
363 }
364 
365 am_Error_e CAmControlReceiver::getListGateways(std::vector<am_Gateway_s> & listGateways) const
366 {
367  return (mDatabaseHandler->getListGateways(listGateways));
368 }
369 
370 am_Error_e CAmControlReceiver::getListConverters(std::vector<am_Converter_s>& listConverters) const
371 {
372  return (mDatabaseHandler->getListConverters(listConverters));
373 }
374 
375 am_Error_e CAmControlReceiver::getListSinkClasses(std::vector<am_SinkClass_s> & listSinkClasses) const
376 {
377  return (mDatabaseHandler->getListSinkClasses(listSinkClasses));
378 }
379 
380 am_Error_e CAmControlReceiver::getListSystemProperties(std::vector<am_SystemProperty_s> & listSystemProperties) const
381 {
382  return (mDatabaseHandler->getListSystemProperties(listSystemProperties));
383 }
384 
386 {
387  return (mDatabaseHandler->changeSinkClassInfoDB(classInfo));
388 }
389 
391 {
392  return(mDatabaseHandler->changeSourceClassInfoDB(classInfo));
393 }
394 
396 {
397  return (mDatabaseHandler->removeSinkClassDB(sinkClassID));
398 }
399 
401 {
402  return (mDatabaseHandler->removeSourceClassDB(sourceClassID));
403 }
404 
406 {
408  mCommandSender->setCommandReady();
409 }
410 
412 {
414  mRoutingSender->setRoutingReady();
415 }
416 
418 {
419  if (error!=E_OK)
420  logError(__METHOD_NAME__,"controller reported error", error);
421 }
422 
424 {
425  if (error!=E_OK)
426  {
427  logError(__METHOD_NAME__,"exited with error ",error);
428  //we might be blocked here -> so lets better exit right away
429  throw std::runtime_error("controller Confirmed with error");
430  }
431 
432  logVerbose (__METHOD_NAME__,"will exit now");
433 
434  //end the mainloop here...
435  mSocketHandler->exit_mainloop();
436 }
437 
439 {
440  socketHandler = mSocketHandler;
441  return (E_OK);
442 }
443 
445 {
447  mCommandSender->setCommandRundown();
448 }
449 
451 {
453  mRoutingSender->setRoutingRundown();
454 }
455 
456 void CAmControlReceiver::getInterfaceVersion(std::string & version) const
457 {
458  version = ControlVersion;
459 }
460 
461 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)
462 {
463  return (mDatabaseHandler->changeSourceDB(sourceID,sourceClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
464 }
465 
466 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)
467 {
468  return (mDatabaseHandler->changeSinkDB(sinkID,sinkClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
469 }
470 
471 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)
472 {
473  return (mDatabaseHandler->changeGatewayDB(gatewayID,listSourceConnectionFormats,listSinkConnectionFormats,convertionMatrix));
474 }
475 
476 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)
477 {
478  return (mDatabaseHandler->changeConverterDB(converterID,listSourceConnectionFormats,listSinkConnectionFormats,convertionMatrix));
479 }
480 
481 am_Error_e CAmControlReceiver::setVolumes(am_Handle_s& handle, const std::vector<am_Volumes_s>& listVolumes)
482 {
483  return (mRoutingSender->asyncSetVolumes(handle,listVolumes));
484 }
485 
487 {
488  return (mRoutingSender->asyncSetSinkNotificationConfiguration(handle,sinkID,notificationConfiguration));
489 }
490 
492 {
493  return (mRoutingSender->asyncSetSourceNotificationConfiguration(handle,sourceID,notificationConfiguration));
494 }
495 
497 {
498  logVerbose(__METHOD_NAME__,"sinkID=",sinkID,"type=",notificationPayload.type,"value=",notificationPayload.value);
499  mCommandSender->cbSinkNotification(sinkID,notificationPayload);
500 }
501 
503 {
504  logVerbose(__METHOD_NAME__,"sourceID=",sourceID,"type=",notificationPayload.type,"value=",notificationPayload.value);
505  mCommandSender->cbSourceNotification(sourceID,notificationPayload);
506 }
507 
509 {
510  logVerbose(__METHOD_NAME__,"sinkID", sinkID);
511  return (mDatabaseHandler->changeMainSinkNotificationConfigurationDB(sinkID,mainNotificationConfiguration));
512 }
513 
515 {
516  logVerbose(__METHOD_NAME__,"sourceID", sourceID);
517  return (mDatabaseHandler->changeMainSourceNotificationConfigurationDB(sourceID,mainNotificationConfiguration));
518 }
519 
520 am_Error_e CAmControlReceiver::getListMainSinkSoundProperties(const am_sinkID_t sinkID, std::vector<am_MainSoundProperty_s>& listSoundproperties) const
521 {
522  logVerbose(__METHOD_NAME__,"sinkID", sinkID);
523  return (mDatabaseHandler->getListMainSinkSoundProperties(sinkID,listSoundproperties));
524 }
525 
526 am_Error_e CAmControlReceiver::getListMainSourceSoundProperties(const am_sourceID_t sourceID, std::vector<am_MainSoundProperty_s>& listSoundproperties) const
527 {
528  logVerbose(__METHOD_NAME__,"sourceID", sourceID);
529  return (mDatabaseHandler->getListMainSourceSoundProperties(sourceID, listSoundproperties));
530 }
531 
532 am_Error_e CAmControlReceiver::getListSinkSoundProperties(const am_sinkID_t sinkID, std::vector<am_SoundProperty_s>& listSoundproperties) const
533 {
534  logVerbose(__METHOD_NAME__,"sinkID", sinkID);
535  return (mDatabaseHandler->getListSinkSoundProperties(sinkID,listSoundproperties));
536 }
537 
538 am_Error_e CAmControlReceiver::getListSourceSoundProperties(const am_sourceID_t sourceID, std::vector<am_SoundProperty_s>& listSoundproperties) const
539 {
540  logVerbose(__METHOD_NAME__,"sourceID", sourceID);
541  return (mDatabaseHandler->getListSourceSoundProperties(sourceID, listSoundproperties));
542 }
543 
545 {
546  logVerbose(__METHOD_NAME__,"sinkID", sinkID);
547  return (mDatabaseHandler->getMainSinkSoundPropertyValue(sinkID,propertyType,value));
548 }
549 
551 {
552  logVerbose(__METHOD_NAME__,"sinkID", sinkID);
553  return (mDatabaseHandler->getSinkSoundPropertyValue(sinkID,propertyType,value));
554 }
555 
557 {
558  logVerbose(__METHOD_NAME__,"sourceID", sourceID);
559  return (mDatabaseHandler->getMainSourceSoundPropertyValue(sourceID,propertyType,value));
560 }
561 
563 {
564  logVerbose(__METHOD_NAME__,"sourceID", sourceID);
565  return (mDatabaseHandler->getSourceSoundPropertyValue(sourceID,propertyType,value));
566 }
567 
568 am_Error_e CAmControlReceiver::resyncConnectionState(const am_domainID_t domainID,std::vector<am_Connection_s>& listOfExistingConnections)
569 {
570  logInfo(__METHOD_NAME__,"domainID", domainID);
571  return (mRoutingSender->resyncConnectionState(domainID,listOfExistingConnections));
572 }
573 
575 {
576  logInfo(__METHOD_NAME__,"handle", handle.handle);
577  return (mRoutingSender->removeHandle(handle));
578 }
579 
580 }
581 
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
A Common-API wrapper class, which loads the common-api runtime and instantiates all necessary objects...
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
#define __METHOD_NAME__
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 autorouting algorithm for connecting sinks and sources via different audio domains...
Definition: CAmRouter.h:159
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)
Find first mMaxPathCount paths between given source and sink.
Definition: CAmRouter.cpp:111
virtual am_Error_e enterDomainDB(const am_Domain_s &domainData, am_domainID_t &domainID)=0
The following interface methods must be implemented by the subclass.
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