From 1111f28e3693ee0f296819654a5c35fe147c395d Mon Sep 17 00:00:00 2001 From: Christian as GENIVI Maintainer Date: Fri, 30 Sep 2016 08:11:30 -0700 Subject: add doxygen documentation for github Signed-off-by: Christian as GENIVI Maintainer --- docs/CAmRoutingReceiver_8cpp_source.html | 727 +++++++++++++++++++++++++++++++ 1 file changed, 727 insertions(+) create mode 100644 docs/CAmRoutingReceiver_8cpp_source.html (limited to 'docs/CAmRoutingReceiver_8cpp_source.html') diff --git a/docs/CAmRoutingReceiver_8cpp_source.html b/docs/CAmRoutingReceiver_8cpp_source.html new file mode 100644 index 0000000..b8b9523 --- /dev/null +++ b/docs/CAmRoutingReceiver_8cpp_source.html @@ -0,0 +1,727 @@ + + + + + + +AudioManager: AudioManagerCore/src/CAmRoutingReceiver.cpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
AudioManager +  7.5.11 +
+
Native Application Runtime Environment
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
CAmRoutingReceiver.cpp
+
+
+Go to the documentation of this file.
1 
+
24 #include "CAmRoutingReceiver.h"
+
25 #include <cassert>
+
26 #include <algorithm>
+
27 #include "IAmDatabaseHandler.h"
+
28 #include "CAmRoutingSender.h"
+
29 #include "CAmControlSender.h"
+
30 #include "CAmDltWrapper.h"
+
31 #include "CAmSocketHandler.h"
+
32 
+
33 namespace am
+
34 {
+
35 
+
36 CAmRoutingReceiver::CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler) :
+
37  mpDatabaseHandler(iDatabaseHandler), //
+
38  mpRoutingSender(iRoutingSender), //
+
39  mpControlSender(iControlSender), //
+
40  mpSocketHandler(iSocketHandler), //
+
41  mpDBusWrapper(NULL), //
+
42  mListStartupHandles(), //
+
43  mListRundownHandles(), //
+
44  handleCount(0), //
+
45  mWaitStartup(false), //
+
46  mWaitRundown(false), //
+
47  mLastStartupError(E_OK), //
+
48  mLastRundownError(E_OK) //
+
49 {
+
50  assert(mpDatabaseHandler!=NULL);
+
51  assert(mpRoutingSender!=NULL);
+
52  assert(mpControlSender!=NULL);
+
53  assert(mpSocketHandler!=NULL);
+
54 }
+
55 
+
56 CAmRoutingReceiver::CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler, CAmDbusWrapper *iDBusWrapper) :
+
57  mpDatabaseHandler(iDatabaseHandler), //
+
58  mpRoutingSender(iRoutingSender), //
+
59  mpControlSender(iControlSender), //
+
60  mpSocketHandler(iSocketHandler), //
+
61  mpDBusWrapper(iDBusWrapper), //
+
62  mListStartupHandles(), //
+
63  mListRundownHandles(), //
+
64  handleCount(0), //
+
65  mWaitStartup(false), //
+
66  mWaitRundown(false),
+
67  mLastStartupError(E_OK), //
+
68  mLastRundownError(E_OK) //
+
69 {
+
70  assert(mpDatabaseHandler!=NULL);
+
71  assert(mpRoutingSender!=NULL);
+
72  assert(mpControlSender!=NULL);
+
73  assert(mpSocketHandler!=NULL);
+
74  assert(mpDBusWrapper!=NULL);
+
75 }
+
76 
+ +
78 {
+
79 }
+
80 
+
81 void CAmRoutingReceiver::handleCallback(const am_Handle_s handle, const am_Error_e error)
+
82 {
+
83  if (error == am_Error_e::E_OK)
+
84  {
+
85  mpRoutingSender->writeToDatabaseAndRemove(handle);
+
86  }
+
87  else
+
88  {
+
89  mpRoutingSender->removeHandle(handle);
+
90  }
+
91 }
+
92 
+
93 void CAmRoutingReceiver::ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
+
94 {
+
95  logInfo(__func__,"handle=",handle,"connectionID=",connectionID,"error=",error);
+
96  if (error == am_Error_e::E_OK)
+
97  {
+
98  mpRoutingSender->writeToDatabaseAndRemove(handle);
+
99  }
+
100  else
+
101  {
+
102  //only remove connection of handle was found
+
103  if(mpRoutingSender->removeHandle(handle)==0)
+
104  {
+
105  mpDatabaseHandler->removeConnection(connectionID);
+
106  mpRoutingSender->removeConnectionLookup(connectionID);
+
107  }
+
108  }
+
109  mpControlSender->cbAckConnect(handle, error);
+
110 }
+
111 
+
112 void CAmRoutingReceiver::ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
+
113 {
+
114  logInfo(__func__,"handle=",handle,"connectionID=",connectionID,"error=",error);
+
115  //only remove connection of handle was found
+
116  if(mpRoutingSender->removeHandle(handle) == 0)
+
117  {
+
118  mpRoutingSender->removeConnectionLookup(connectionID);
+
119  }
+
120  mpControlSender->cbAckDisconnect(handle, error);
+
121 }
+
122 
+ +
124 {
+
125  logInfo(__func__,"handle=",handle,"volume=",volume,"error=",error);
+
126  if(error == E_OK)
+
127  {
+
128  mpRoutingSender->checkVolume(handle,volume);
+
129  }
+
130 
+
131  if (error== am_Error_e::E_OK || error== am_Error_e::E_ABORTED)
+
132  {
+
133  mpRoutingSender->writeToDatabaseAndRemove(handle);
+
134  }
+
135  else
+
136  {
+
137  mpRoutingSender->removeHandle(handle);
+
138  }
+
139  mpControlSender->cbAckSetSinkVolumeChange(handle, volume, error);
+
140 }
+
141 
+ +
143 {
+
144  logInfo(__func__,"handle=",handle,"volume=",volume,"error=",error);
+
145  if(error == E_OK)
+
146  {
+
147  mpRoutingSender->checkVolume(handle,volume);
+
148  }
+
149 
+
150  if (error== am_Error_e::E_OK || error== am_Error_e::E_ABORTED)
+
151  {
+
152  mpRoutingSender->writeToDatabaseAndRemove(handle);
+
153  }
+
154  else
+
155  {
+
156  mpRoutingSender->removeHandle(handle);
+
157  }
+
158  mpControlSender->cbAckSetSourceVolumeChange(handle, volume, error);
+
159 }
+
160 
+ +
162 {
+
163  logInfo(__func__,"handle=",handle,"error=",error);
+
164  handleCallback(handle,error);
+
165  mpControlSender->cbAckSetSourceState(handle, error);
+
166 }
+
167 
+ +
169 {
+
170  logInfo(__func__,"handle=",handle,"error=",error);
+
171  handleCallback(handle,error);
+
172  mpControlSender->cbAckSetSinkSoundProperty(handle, error);
+
173 }
+
174 
+ +
176 {
+
177  logInfo(__func__,"handle=",handle,"error=",error);
+
178  handleCallback(handle,error);
+
179  mpControlSender->cbAckSetSinkSoundProperties(handle, error);
+
180 }
+
181 
+ +
183 {
+
184  logInfo(__func__,"handle=",handle,"error=",error);
+
185  handleCallback(handle,error);
+
186  mpControlSender->cbAckSetSourceSoundProperty(handle, error);
+
187 }
+
188 
+ +
190 {
+
191  logInfo(__func__,"handle=",handle,"error=",error);
+
192  handleCallback(handle,error);
+
193  mpControlSender->cbAckSetSourceSoundProperties(handle, error);
+
194 }
+
195 
+
196 void CAmRoutingReceiver::ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error)
+
197 {
+
198  logInfo(__func__,"handle=",handle,"hotsink=",hotSink,"error=",error);
+
199  handleCallback(handle,error);
+
200  mpControlSender->cbAckCrossFade(handle, hotSink, error);
+
201 }
+
202 
+
203 void CAmRoutingReceiver::ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)
+
204 {
+
205  logInfo(__func__,"handle=",handle,"sourceID=",sourceID,"volume=",volume);
+
206  mpControlSender->hookSystemSourceVolumeTick(handle, sourceID, volume);
+
207 }
+
208 
+
209 void CAmRoutingReceiver::ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)
+
210 {
+
211  logInfo(__func__,"handle=",handle,"sinkID=",sinkID,"volume=",volume);
+
212  mpControlSender->hookSystemSinkVolumeTick(handle, sinkID, volume);
+
213 }
+
214 
+
215 am_Error_e CAmRoutingReceiver::peekDomain(const std::string & name, am_domainID_t & domainID)
+
216 {
+
217  return (mpDatabaseHandler->peekDomain(name, domainID));
+
218 }
+
219 
+ +
221 {
+
222  return (mpControlSender->hookSystemRegisterDomain(domainData, domainID));
+
223 }
+
224 
+ +
226 {
+
227  return (mpControlSender->hookSystemDeregisterDomain(domainID));
+
228 }
+
229 
+ +
231 {
+
232  return (mpControlSender->hookSystemRegisterGateway(gatewayData, gatewayID));
+
233 }
+
234 
+ +
236 {
+
237  return (mpControlSender->hookSystemRegisterConverter(converterData, converterID));
+
238 }
+
239 
+ +
241 {
+
242  return (mpControlSender->hookSystemDeregisterGateway(gatewayID));
+
243 }
+
244 
+ +
246 {
+
247  return (mpControlSender->hookSystemDeregisterConverter(converterID));
+
248 }
+
249 
+
250 am_Error_e CAmRoutingReceiver::peekSink(const std::string& name, am_sinkID_t & sinkID)
+
251 {
+
252  return (mpDatabaseHandler->peekSink(name, sinkID));
+
253 }
+
254 
+ +
256 {
+
257  return (mpControlSender->hookSystemRegisterSink(sinkData, sinkID));
+
258 }
+
259 
+ +
261 {
+
262  return (mpControlSender->hookSystemDeregisterSink(sinkID));
+
263 }
+
264 
+
265 am_Error_e CAmRoutingReceiver::peekSource(const std::string & name, am_sourceID_t & sourceID)
+
266 {
+
267  return (mpDatabaseHandler->peekSource(name, sourceID));
+
268 }
+
269 
+ +
271 {
+
272  return (mpControlSender->hookSystemRegisterSource(sourceData, sourceID));
+
273 }
+
274 
+ +
276 {
+
277  return (mpControlSender->hookSystemDeregisterSource(sourceID));
+
278 }
+
279 
+ +
281 {
+
282  return (mpControlSender->hookSystemRegisterCrossfader(crossfaderData, crossfaderID));
+
283 }
+
284 
+ +
286 {
+
287  return (mpControlSender->hookSystemDeregisterCrossfader(crossfaderID));
+
288 }
+
289 
+ +
291 {
+
292  return (mpControlSender->hookSystemInterruptStateChange(sourceID, interruptState));
+
293 }
+
294 
+ +
296 {
+
297  mpControlSender->hookSystemDomainRegistrationComplete(domainID);
+
298 }
+
299 
+ +
301 {
+
302  mpControlSender->hookSystemSinkAvailablityStateChange(sinkID, availability);
+
303 }
+
304 
+ +
306 {
+
307  mpControlSender->hookSystemSourceAvailablityStateChange(sourceID, availability);
+
308 }
+
309 
+ +
311 {
+
312  mpControlSender->hookSystemDomainStateChange(domainID, domainState);
+
313 }
+
314 
+ +
316 {
+
317  mpDatabaseHandler->changeConnectionTimingInformation(connectionID, delay);
+
318  mpControlSender->hookSystemSingleTimingInformationChanged(connectionID,delay);
+
319 }
+
320 
+
321 void CAmRoutingReceiver::sendChangedData(const std::vector<am_EarlyData_s> & earlyData)
+
322 {
+
323  mpControlSender->hookSystemReceiveEarlyData(earlyData);
+
324 }
+
325 
+
326 am_Error_e CAmRoutingReceiver::peekSinkClassID(const std::string& name, am_sinkClass_t& sinkClassID)
+
327 {
+
328  return (mpDatabaseHandler->peekSinkClassID(name, sinkClassID));
+
329 }
+
330 
+
331 am_Error_e CAmRoutingReceiver::peekSourceClassID(const std::string& name, am_sourceClass_t& sourceClassID)
+
332 {
+
333  return (mpDatabaseHandler->peekSourceClassID(name, sourceClassID));
+
334 }
+
335 
+
336 #ifdef WITH_DBUS_WRAPPER
+ +
338 {
+
339  dbusConnectionWrapper = mpDBusWrapper;
+
340  return (E_OK);
+
341 #else
+ +
343 {
+
344  return (E_UNKNOWN);
+
345 #endif
+
346 }
+
347 
+ +
349 {
+
350  socketHandler = mpSocketHandler;
+
351  return (E_OK);
+
352 }
+
353 
+
354 void CAmRoutingReceiver::getInterfaceVersion(std::string & version) const
+
355 {
+
356  version = RoutingVersion;
+
357 }
+
358 
+
359 void CAmRoutingReceiver::confirmRoutingReady(const uint16_t handle, const am_Error_e error)
+
360 {
+
361  if (error!=E_OK)
+
362  mLastStartupError=error;
+
363  mListStartupHandles.erase(std::remove(mListStartupHandles.begin(), mListStartupHandles.end(), handle), mListStartupHandles.end());
+
364  if (mWaitStartup && mListStartupHandles.empty())
+
365  mpControlSender->confirmRoutingReady(mLastStartupError);
+
366 }
+
367 
+
368 void CAmRoutingReceiver::confirmRoutingRundown(const uint16_t handle, const am_Error_e error)
+
369 {
+
370  if (error!=E_OK)
+
371  mLastRundownError=error;
+
372  mListRundownHandles.erase(std::remove(mListRundownHandles.begin(), mListRundownHandles.end(), handle), mListRundownHandles.end());
+
373  if (mWaitRundown && mListRundownHandles.empty())
+
374  mpControlSender->confirmRoutingRundown(mLastRundownError);
+
375 }
+
376 
+ +
378 {
+
379  uint16_t handle = ++handleCount; //todo: handle overflow
+
380  mListStartupHandles.push_back(handle);
+
381  return (handle);
+
382 }
+
383 
+ +
385 {
+
386  uint16_t handle = ++handleCount; //todo: handle overflow
+
387  mListRundownHandles.push_back(handle);
+
388  return (handle);
+
389 }
+
390 
+ +
392 {
+
393  mWaitStartup = startup;
+
394  mLastStartupError=E_OK;
+
395 }
+
396 
+ +
398 {
+
399  logInfo(__func__,"handle=",handle,"error=",error);
+
400  handleCallback(handle,error);
+
401  mpControlSender->cbAckSetSinkNotificationConfiguration(handle,error);
+
402 }
+
403 
+ +
405 {
+
406  logInfo(__func__,"handle=",handle,"error=",error);
+
407  handleCallback(handle,error);
+
408  mpControlSender->cbAckSetSourceNotificationConfiguration(handle,error);
+
409 }
+
410 
+
411 am_Error_e CAmRoutingReceiver::updateGateway(const am_gatewayID_t gatewayID, const std::vector<am_CustomConnectionFormat_t>& listSourceFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkFormats, const std::vector<bool>& convertionMatrix)
+
412 {
+
413  return (mpControlSender->hookSystemUpdateGateway(gatewayID,listSourceFormats,listSinkFormats,convertionMatrix));
+
414 }
+
415 
+
416 am_Error_e CAmRoutingReceiver::updateConverter(const am_converterID_t converterID, const std::vector<am_CustomConnectionFormat_t>& listSourceFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkFormats, const std::vector<bool>& convertionMatrix)
+
417 {
+
418  return (mpControlSender->hookSystemUpdateConverter(converterID,listSourceFormats,listSinkFormats,convertionMatrix));
+
419 }
+
420 
+
421 am_Error_e CAmRoutingReceiver::updateSink(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)
+
422 {
+
423  return (mpControlSender->hookSystemUpdateSink(sinkID,sinkClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
+
424 }
+
425 
+
426 am_Error_e CAmRoutingReceiver::updateSource(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)
+
427 {
+
428  return (mpControlSender->hookSystemUpdateSource(sourceID,sourceClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
+
429 }
+
430 
+
431 void CAmRoutingReceiver::ackSetVolumes(const am_Handle_s handle, const std::vector<am_Volumes_s>& listvolumes, const am_Error_e error)
+
432 {
+
433  logInfo(__func__,"handle=",handle,"error=",error);
+
434  handleCallback(handle,error);
+
435  mpControlSender->cbAckSetVolume(handle,listvolumes,error);
+
436 }
+
437 
+ +
439 {
+
440  logInfo("CAmRoutingReceiver::hookSinkNotificationDataChange received, sinkID=",sinkID,"type=",payload.type,"notificationValue=",payload.value);
+
441  mpControlSender->hookSinkNotificationDataChanged(sinkID,payload);
+
442 }
+
443 
+ +
445 {
+
446  logInfo("CAmRoutingReceiver::hookSourceNotificationDataChange received, sinkID=",sourceID,"type=",payload.type,"notificationValue=",payload.value);
+
447  mpControlSender->hookSourceNotificationDataChanged(sourceID,payload);
+
448 }
+
449 
+ +
451 {
+
452  return (mpDatabaseHandler->getDomainOfSink(sinkID,domainID));
+
453 }
+
454 
+ +
456 {
+
457  return (mpDatabaseHandler->getDomainOfSource(sourceID,domainID));
+
458 }
+
459 
+ +
461 {
+
462  return (mpDatabaseHandler->getDomainOfCrossfader(crossfader,domainID));
+
463 }
+
464 
+ +
466 {
+
467  mWaitRundown = rundown;
+
468  mLastRundownError=E_OK;
+
469 }
+
470 
+
471 }
+
Implements the RoutingSendInterface.
+
am_Error_e getDBusConnectionWrapper(CAmDbusWrapper *&dbusConnectionWrapper) const
this function is used to retrieve a pointer to the dBusConnectionWrapper
+
uint16_t am_connectionID_t
a connection ID
+
void hookSystemSourceAvailablityStateChange(const am_sourceID_t sourceID, const am_Availability_s &availability)
+
am_Error_e hookSystemUpdateGateway(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFromats, const std::vector< bool > &convertionMatrix)
+
void hookSourceNotificationDataChange(const am_sourceID_t sourceID, const am_NotificationPayload_s &payload)
is called whenever a notified value needs to be send
+
uint16_t am_sinkClass_t
+
am_Error_e
the errors of the audiomanager.
+
am_InterruptState_e
+
void ackSetVolumes(const am_Handle_s handle, const std::vector< am_Volumes_s > &listvolumes, const am_Error_e error)
acknowledges a asyncSetSinkVolumes
+
am_Error_e hookSystemRegisterSink(const am_Sink_s &sinkData, am_sinkID_t &sinkID)
+
am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID)
+
void logInfo(T value, TArgs...args)
logs given values with infolevel with the default context
+
void confirmRoutingReady(const uint16_t handle, const am_Error_e error)
confirms the setRoutingReady Command
+
virtual am_Error_e getDomainOfSink(const am_sinkID_t sinkID, am_domainID_t &domainID) const =0
+
void hookTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t delay)
is called when the timinginformation (delay) changed for a connection.
+
void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
+
void hookSystemDomainRegistrationComplete(const am_domainID_t domainID)
+
This struct describes the attribiutes of a sink.
+
This struct holds the payload of a notification.
+
void cbAckSetSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
+
void confirmRoutingReady(const am_Error_e error)
+
am_Error_e registerSource(const am_Source_s &sourceData, am_sourceID_t &sourceID)
registers a source.
+
void ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error)
acknowledges asyncCrossFade
+
void hookSinkNotificationDataChanged(const am_sinkID_t sinkID, const am_NotificationPayload_s &payload)
+
am_Error_e registerConverter(const am_Converter_s &converterData, am_converterID_t &converterID)
registers a converter.
+
am_Error_e hookSystemDeregisterSink(const am_sinkID_t sinkID)
+
void checkVolume(const am_Handle_s handle, const am_volume_t volume)
+
This struct describes the attribiutes of a domain.
+
void waitOnRundown(bool rundown)
tells the RoutingReceiver to start waiting for all handles to be confirmed
+
am_Error_e hookSystemUpdateSink(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)
+
uint16_t am_crossfaderID_t
a crossfader ID
+
The am::CAmSocketHandler implements a mainloop for the AudioManager.
+
SPDX license identifier: MPL-2.0.
+
am_Error_e updateSink(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)
updates data of an gateway.
+
am_Error_e updateConverter(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkFormats, const std::vector< bool > &convertionMatrix)
updates data of an converter.
+
void hookSystemSinkAvailablityStateChange(const am_sinkID_t sinkID, const am_Availability_s &availability)
+
int16_t am_timeSync_t
offset time that is introduced in milli seconds.
+
void confirmRoutingRundown(const uint16_t handle, const am_Error_e error)
confirms the setRoutingRundown Command
+
void hookSourceNotificationDataChanged(const am_sourceID_t sourceID, const am_NotificationPayload_s &payload)
+
am_Error_e hookSystemRegisterSource(const am_Source_s &sourceData, am_sourceID_t &sourceID)
+
am_Error_e deregisterGateway(const am_gatewayID_t gatewayID)
deregisters a gateway.
+
SPDX license identifier: MPL-2.0.
+
am_Error_e updateSource(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)
updates data of an source.
+
void hookSystemDomainStateChange(const am_domainID_t domainID, const am_DomainState_e state)
+
am_Error_e hookSystemRegisterConverter(const am_Converter_s &converterData, am_converterID_t &converterID)
+
void ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)
acknowledges a volume tick.
+
void cbAckCrossFade(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error)
+
void cbAckSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
+
am_Error_e getDomainOfSource(const am_sourceID_t sourceID, am_domainID_t &domainID) const
E_OK in case of success.
+
am_Error_e peekSourceClassID(const std::string &name, am_sourceClass_t &sourceClassID)
this function peeks a sourceclassID.
+
am_CustomNotificationType_t type
This defines the notification type.
+
am_Error_e peekSink(const std::string &name, am_sinkID_t &sinkID)
This function returns the ID to the given sinkName.
+
void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID)
+
void cbAckSetSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
+
virtual am_Error_e peekSinkClassID(const std::string &name, am_sinkClass_t &sinkClassID)=0
+
am_Error_e hookSystemUpdateConverter(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFromats, const std::vector< bool > &convertionMatrix)
+
void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)
+
uint16_t am_converterID_t
a converter ID
+
int16_t value
This is finally the value of the notification.
+
void ackSetSourceState(const am_Handle_s handle, const am_Error_e error)
acknowlegde for asyncSetSourceState
+
am_Error_e registerGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)
registers a gateway.
+
SPDX license identifier: MPL-2.0.
+
void getInterfaceVersion(std::string &version) const
This function returns the version of the interface.
+
void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID)
+
am_Error_e peekSinkClassID(const std::string &name, am_sinkClass_t &sinkClassID)
this function peeks a sourceclassID.
+
void hookInterruptStatusChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
is called when a low level interrupt changes it status.
+
void cbAckSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)
+
a handle is used for asynchronous operations and is uniquely assigned for each of this operations ...
+ +
am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)
+
void ackSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSinkSoundProperty
+
uint16_t am_sourceID_t
a source ID
+
am_Error_e hookSystemRegisterGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)
+
void hookSourceAvailablityStatusChange(const am_sourceID_t sourceID, const am_Availability_s &availability)
is called when a source changes its availability
+
void ackSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
The acknowledge of the SourceNotificationConfiguration.
+
void ackSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
acknowledges a asyncsetSourceVolume
+
void cbAckSetSourceState(const am_Handle_s handle, const am_Error_e error)
+
am_Error_e deregisterConverter(const am_converterID_t converterID)
deregisters a converter.
+
virtual am_Error_e removeConnection(const am_connectionID_t connectionID)=0
+
uint16_t getStartupHandle()
returns a startup handle
+
sends data to the commandInterface, takes the file of the library that needs to be loaded ...
+
CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler)
+
This class handles and abstracts the database.
+
SPDX license identifier: MPL-2.0.
+
void cbAckSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)
+
virtual am_Error_e getDomainOfCrossfader(const am_crossfaderID_t crossfader, am_domainID_t &domainID) const =0
+
void ackSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSinkSoundProperties
+
am_Error_e hookSystemDeregisterDomain(const am_domainID_t domainID)
+ +
void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
acknowledges a asyncsetSinkVolume
+
This struct describes the attributes of a converter.
+
void hookDomainRegistrationComplete(const am_domainID_t domainID)
This hook is called when all elements from a domain are registered.
+
am_Error_e peekSource(const std::string &name, am_sourceID_t &sourceID)
This function returns the ID to the given sourceName.
+ +
am_Error_e registerDomain(const am_Domain_s &domainData, am_domainID_t &domainID)
registers a domain
+
am_Error_e deregisterSink(const am_sinkID_t sinkID)
deregisters a sink.
+
am_Error_e registerSink(const am_Sink_s &sinkData, am_sinkID_t &sinkID)
Registers a sink.
+
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 hookSystemUpdateSource(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)
+
am_Error_e getSocketHandler(CAmSocketHandler *&socketHandler) const
This function returns the pointer to the socketHandler.
+
uint16_t getRundownHandle()
returns a rundown handle
+
am_Error_e writeToDatabaseAndRemove(const am_Handle_s handle)
write data to Database and remove handle
+
am_Error_e deregisterSource(const am_sourceID_t sourceID)
deregisters a source
+
uint16_t am_sourceClass_t
+
SPDX license identifier: MPL-2.0.
+
void ackSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
The acknowledge of the SinkNotificationConfiguration.
+
void cbAckSetVolume(const am_Handle_s handle, const std::vector< am_Volumes_s > &listVolumes, const am_Error_e error)
+
void hookSinkAvailablityStatusChange(const am_sinkID_t sinkID, const am_Availability_s &availability)
is called when a sink changes its availability
+
void hookSystemSingleTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t time)
+
this describes the availability of a sink or a source together with the latest change ...
+
This struct describes the attributes of a gateway.
+
am_Error_e getDomainOfSink(const am_sinkID_t sinkID, am_domainID_t &domainID) const
E_OK in case of success.
+
the asynchronous action was aborted
+
am_Error_e removeHandle(const am_Handle_s &handle)
removes a handle from the list
+
void hookDomainStateChange(const am_domainID_t domainID, const am_DomainState_e domainState)
is called when a domain changes its status.
+
am_Error_e updateGateway(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkFormats, const std::vector< bool > &convertionMatrix)
updates data of an gateway.
+
#define RoutingVersion
Definition: IAmRouting.h:38
+
virtual am_Error_e getDomainOfSource(const am_sourceID_t sourceID, am_domainID_t &domainID) const =0
+
am_Error_e registerCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)
this function registers a crossfader.
+
am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID)
+
virtual am_Error_e peekSource(const std::string &name, am_sourceID_t &sourceID)=0
+
am_Error_e deregisterCrossfader(const am_crossfaderID_t crossfaderID)
this function deregisters a crossfader.
+
This wraps dbus and provides everything needed to anyone who wants to use dbus (including plugins)...
+
virtual am_Error_e changeConnectionTimingInformation(const am_connectionID_t connectionID, const am_timeSync_t delay)=0
+
virtual am_Error_e peekSink(const std::string &name, am_sinkID_t &sinkID)=0
+
void sendChangedData(const std::vector< am_EarlyData_s > &earlyData)
this function is used to send out all data that has been changed in an early state.
+
am_Error_e hookSystemDeregisterGateway(const am_gatewayID_t gatewayID)
+
uint16_t am_domainID_t
a domain ID
+
void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)
+
void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
acknowledges a asyncConnect
+
no error - positive reply
+
am_Error_e hookSystemDeregisterSource(const am_sourceID_t sourceID)
+
SPDX license identifier: MPL-2.0.
+
am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID)
This function returns the ID to the given domainName.
+
void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
acknowledges a asyncDisconnect
+
void confirmRoutingRundown(const am_Error_e error)
+
void waitOnStartup(bool startup)
tells the RoutingReceiver to start waiting for all handles to be confirmed
+
uint16_t am_gatewayID_t
a gateway ID
+
This struct describes the attribiutes of a source.
+
am_Error_e getDomainOfCrossfader(const am_crossfaderID_t crossfader, am_domainID_t &domainID) const
E_OK in case of success.
+
uint16_t am_sinkID_t
a sink ID
+
void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error)
+
void ackSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSourceSoundProperties
+
am_Error_e deregisterDomain(const am_domainID_t domainID)
deregisters a domain.
+
am_Error_e hookSystemRegisterDomain(const am_Domain_s &domainData, am_domainID_t &domainID)
+
void ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)
acknowledges a volume tick.
+
am_Error_e removeConnectionLookup(const am_connectionID_t connectionID)
+
virtual am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID)=0
+
void hookSinkNotificationDataChange(const am_sinkID_t sinkID, const am_NotificationPayload_s &payload)
is called whenever a notified value needs to be send
+
void ackSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSourceSoundProperty
+
virtual am_Error_e peekSourceClassID(const std::string &name, am_sourceClass_t &sourceClassID)=0
+
void hookSystemReceiveEarlyData(const std::vector< am_EarlyData_s > &data)
+
+
+ + + + -- cgit v1.2.1