summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/include/ControlSender.h
blob: 0a490d4fdcded3f0be6df1d080d8d8ccc9c6e913 (plain)
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_ */