audioClient.h
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../../../../LIBRARIES/MIDDLEWARE/src/com/dpyMwClient.h"
6 #include "audioApi.h"
7 #include "audioConfig.h"
8 
13 class AudioClient: public DpyMwClient
14 {
15 private:
16  void RegisterCallbacks();
17 public:
18  AudioClient(std::string& ip, int dport, int sport);
19  ~AudioClient();
20  void asyncGetPortList(dpyAudio::port_list_handler_function handler);
21  void asyncGetConnectionList(dpyAudio::connection_list_handler_function handler);
22  void asyncCreatePort(const dpyAudio::Port& port, dpyAudio::port_handler_function handler);
23  void asyncRemovePort(const dpyAudio::Port& port, dpyAudio::port_handler_function handler);
24  void asyncCreateConnection(const dpyAudio::Connection& connection, dpyAudio::connection_handler_function handler);
25  void asyncRemoveConnection(const dpyAudio::Connection& connection, dpyAudio::connection_handler_function handler);
26  void asyncPlay(const dpyAudio::Port& port, std::string audioFilePath, std::list<dpyAudio::AudioConfig> configurations, dpyAudio::audio_task_handler_function handler);
27  void asyncRecord(const dpyAudio::Port& port, std::string outputAudioFile, std::list<dpyAudio::AudioConfig> configurations, dpyAudio::audio_task_handler_function handler);
28  void asyncStop(const int taskId,dpyAudio::stop_task_handler handler );
29  void getTaskStatus(int taskId, dpyAudio::audio_task_status_handler_function handler);
30  void asyncGetAllTaskInfo(dpyAudio::all_audio_task_info_handler_function handler);
31  void portEvents_S(dpyAudio::port_event_handler_function handler);
32  void portEvents_U();
33  void connectionListEvents_S(dpyAudio::connection_list_event_handler_function handler);
34  void connectionStatusEvents_S(dpyAudio::connection_status_event_handler_function handler);
35  void connectionListEvents_U();
36  void connectionStatusEvents_U();
37  void taskEvents_S(dpyAudio::task_event_handler_function handler);
38  void taskEvents_U();
39  void portGpioEvents_S(dpyAudio::port_gpio_event_handler_function handler);
40  void portGpioEvents_U();
41 
42  void asyncGetConfiguration(dpyAudio::audio_configuration_handler_function handler);
43  void asyncSetConfiguration(dpyAudio::AudioConfig configuration, dpyAudio::audio_set_configuration_handler_function handler);
44 
45  void asyncSetVolume(const dpyAudio::Connection& connection, int volume, dpyAudio::set_connection_volume_handler_function handler);
46  void asyncSetGain(const dpyAudio::Connection& connection, int gain, dpyAudio::set_connection_gain_handler_function handler);
47 
48  void asyncSetPortGpio(const dpyAudio::PortGpio &port_gpio, dpyAudio::result_handler_function handler);
49  void asyncUnsetPortGpio(const dpyAudio::Port &port, dpyAudio::result_handler_function handler);
50  void asyncGetPortGpio(dpyAudio::get_port_gpio_handler_function handler);
51 };
Struct defining a port.
Definition: audioTypes.h:79
boost::function< void(boost::system::error_code &, std::list< dpyAudio::Connection > ConnectionList)> connection_list_handler_function
Handler for get connection list method.
Definition: audioApi.h:69
boost::function< void(boost::system::error_code &, std::list< dpyAudio::AudioConfig > configurations)> audio_configuration_handler_function
Prototype of the handler function for getting the audio configuration.
Definition: audioApi.h:62
boost::function< void(boost::system::error_code &, dpyAudio::Connection connection, unsigned int gain)> set_connection_gain_handler_function
Handler for set connection gain method.
Definition: audioApi.h:188
boost::function< void(boost::system::error_code &, dpyAudio::Port &port)> port_handler_function
Handler for create/remove port.
Definition: audioApi.h:76
boost::function< void(boost::system::error_code &, std::list< dpyAudio::Port > portList)> port_list_handler_function
Handler for get port list method.
Definition: audioApi.h:55
Struct defining audio configuration.
Definition: audioConfig.h:38
boost::function< void(boost::system::error_code ec, std::list< std::pair< int, dpyAudio::AudioTaskInformation >> taskinfolist)> all_audio_task_info_handler_function
Prototype of the handler function for getting the status of all tasks.
Definition: audioApi.h:164
boost::function< void(boost::system::error_code error_code, PortGpioEventType type, dpyAudio::PortGpio port_gpio)> port_gpio_event_handler_function
Handler for PortGpio event callback This type of function is called when an event happens...
Definition: audioApi.h:134
boost::function< void(boost::system::error_code error_code, int taskId, dpyAudio::TaskType type, dpyAudio::AudioTaskStatus status)> task_event_handler_function
Handler for audio track event callback This type of function is called when an event happens...
Definition: audioApi.h:125
boost::function< void(boost::system::error_code error_code, PortEventType type, dpyAudio::Port port)> port_event_handler_function
Handler for port event callback This type of function is called when an event happens.
Definition: audioApi.h:116
boost::function< void(boost::system::error_code &, dpyAudio::Connection connection)> connection_handler_function
Handler for create/remove connection method.
Definition: audioApi.h:83
Struct defining a connection between two ports.
Definition: audioTypes.h:130
boost::function< void(boost::system::error_code, int ID)> audio_task_handler_function
Prototype of the handler function for playing or recording audio.
Definition: audioApi.h:141
boost::function< void(boost::system::error_code &)> audio_set_configuration_handler_function
Prototype of the handler function for getting the audio configuration.
Definition: audioApi.h:172
boost::function< void(boost::system::error_code &ec, std::list< dpyAudio::PortGpio > portgpiolist)> get_port_gpio_handler_function
Prototype of the handler function for getting all gpios assigned to ports.
Definition: audioApi.h:195
Interacts with Audio service.
Definition: audioClient.h:13
boost::function< void(boost::system::error_code error_code, ConnectionStatusEventType type, Connection con)> connection_status_event_handler_function
Handler for connection status event function callback This type of function is called when an event h...
Definition: audioApi.h:107
Struct defining an assignment between a port and a gpio.
Definition: audioTypes.h:145
Manages dealer and susbriber.
Definition: dpyMwClient.h:59
boost::function< void(boost::system::error_code ec, int taskId, dpyAudio::TaskType taskType, dpyAudio::AudioTaskStatus taskStatus)> audio_task_status_handler_function
Prototype of the handler function for getting the status of the task.
Definition: audioApi.h:157
boost::function< void(boost::system::error_code error_code, ConnectionListEventType type, Connection con)> connection_list_event_handler_function
Handler for connection list event function callback This type of function is called when an event hap...
Definition: audioApi.h:98
boost::function< void(boost::system::error_code &, dpyAudio::Connection connection, unsigned int volume)> set_connection_volume_handler_function
Handler for set connection volume method.
Definition: audioApi.h:180
boost::function< void(const boost::system::error_code &)> result_handler_function
Handler for a method which needs a result.
Definition: audioApi.h:89
boost::function< void(boost::system::error_code, int ID)> stop_task_handler
Prototype of the handler function for stopping an audio recording.
Definition: audioApi.h:148