1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/*
* ControlSender.h
*
* Created on: Dec 9, 2011
* Author: christian
*/
#ifndef CONTROLSENDER_H_
#define CONTROLSENDER_H_
#include "control/ControlSendInterface.h"
#ifdef UNIT_TEST
#include "../test/ControlInterfaceBackdoor.h"
#endif
using namespace am;
class ControlSender {
public:
ControlSender();
virtual ~ControlSender();
am_Error_e startupController(ControlReceiveInterface* controlreceiveinterface) ;
am_Error_e stopController() ;
void hookAllPluginsLoaded() ;
am_Error_e hookUserConnectionRequest(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID) ;
am_Error_e hookUserDisconnectionRequest(const am_mainConnectionID_t connectionID) ;
am_Error_e hookUserSetMainSinkSoundProperty(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty) ;
am_Error_e hookUserSetMainSourceSoundProperty(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty) ;
am_Error_e hookUserSetSystemProperty(const am_SystemProperty_s& property) ;
am_Error_e hookUserVolumeChange(const am_sinkID_t SinkID, const am_mainVolume_t newVolume) ;
am_Error_e hookUserVolumeStep(const am_sinkID_t SinkID, const int16_t increment) ;
am_Error_e hookUserSetSinkMuteState(const am_sinkID_t sinkID, const am_MuteState_e muteState) ;
am_Error_e hookSystemRegisterDomain(const am_Domain_s& domainData, am_domainID_t& domainID) ;
am_Error_e hookSystemDeregisterDomain(const am_domainID_t domainID) ;
am_Error_e hookSystemRegisterSink(const am_Sink_s& sinkData, am_sinkID_t& sinkID) ;
am_Error_e hookSystemDeregisterSink(const am_sinkID_t sinkID) ;
am_Error_e hookSystemRegisterSource(const am_Source_s& sourceData, am_sourceID_t& sourceID) ;
am_Error_e hookSystemDeregisterSource(const am_sourceID_t sourceID) ;
am_Error_e hookSystemRegisterGateway(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID) ;
am_Error_e hookSystemDeregisterGateway(const am_gatewayID_t gatewayID) ;
am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID) ;
am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID) ;
void hookSystemDomainRegistrationComplete(const am_domainID_t domainID) ;
void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume) ;
void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume) ;
void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState) ;
void hookSystemSinkAvailablityStateChange(const am_sinkID_t sinkID, const am_Availability_s& availability) ;
void hookSystemSourceAvailablityStateChange(const am_sourceID_t sourceID, const am_Availability_s& availability) ;
void hookSystemDomainStateChange(const am_domainID_t domainID, const am_DomainState_e state) ;
void hookSystemReceiveEarlyData(const std::vector<am_EarlyData_s>& data) ;
void hookSystemSpeedChange(const am_speed_t speed) ;
void hookSystemTimingInformationChanged(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time) ;
void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID) ;
void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID) ;
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) ;
void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error) ;
void cbAckSetSourceState(const am_Handle_s handle, const am_Error_e error) ;
void cbAckSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error) ;
void cbAckSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error) ;
#ifdef UNIT_TEST
friend class ControlInterfaceBackdoor;
#endif
private:
ControlSendInterface* mController;
void* mlibHandle;
};
#endif /* CONTROLSENDER_H_ */
|