Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 110 additions & 17 deletions apis/SystemAudioPlayer/ISystemAudioPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,27 +31,120 @@ namespace Exchange {
enum { ID = ID_SYSTEMAUDIOPLAYER_NOTIFICATION };

virtual ~INotification() {}
virtual void OnSAPEvents(const string &data) = 0;

// @text onSAPEvents
// @alt onsapevents
// @brief Notify SAP events
// @param data: SAP event data
virtual void OnSAPEvents(const string &data) {}
};

virtual ~ISystemAudioPlayer() {}

// @json:omit
// @text configure
// @brief Configure SAP plugin
// @param service: interface instance
// @retval Core::NONE: Indicates successful configuration of SAP plugin
virtual Core::hresult Configure(PluginHost::IShell* service) = 0;

// @json:omit
// @text register
// @brief Register notification interface
// @param sink: notification interface pointer
// @retval Core::NONE: Indicates successful registration of sink
virtual Core::hresult Register(INotification* sink) = 0;

// @json:omit
// @text unregister
// @brief Unregister notification interface
// @param sink: notification interface pointer
// @retval Core::NONE: Indicates successful unregistration of sink
virtual Core::hresult Unregister(INotification* sink) = 0;

// @text open
// @brief Open player instance
// @param input: parameters needed for player
// @param output: response params
// @retval Core::NONE: Indicates successful opening of audio player
virtual Core::hresult Open(const string &input, string &output /* @out */) = 0;

// @text play
// @brief Start playback of audio.
// @param input: parameters needed for audio playback
// @param output: response params
// @retval Core::NONE: Indicates successful playstate change of audio player
virtual Core::hresult Play(const string &input, string &output /* @out */) = 0;

// @text playBuffer
// @brief Start playback of audiobuffer.
// @param input: Base64 encoded audio data
// @param output: response params
// @retval Core::NONE: Indicates successful playstate change of audio player
virtual Core::hresult PlayBuffer(const string &input, string &output /* @out */) = 0;

// @text pause
// @brief Pausing audio playback
// @param input: audio player id
// @param output: response params
// @retval Core::NONE: Indicates successful pausing of audio player
virtual Core::hresult Pause(const string &input, string &output /* @out */) = 0;

// @text resume
// @brief Resuming audio playback
// @param input: audio player id
// @param output: response params
// @retval Core::NONE: Indicates successful resume of audio player
virtual Core::hresult Resume(const string &input, string &output /* @out */) = 0;

// @text stop
// @brief Stopping audio playback
// @param input: audio player id
// @param output: response params
// @retval Core::NONE: Indicates successful stop of audio player
virtual Core::hresult Stop(const string &input, string &output /* @out */) = 0;

// @text close
// @brief Closing audio playback
// @param input: audio player id
// @param output: response params
// @retval Core::NONE: Indicates successful close of audio player
virtual Core::hresult Close(const string &input, string &output /* @out */) = 0;

// @text setMixerLevels
// @brief Setting mixer levels
// @param input: audio player id
// @param output: response params
// @retval Core::NONE: Indicates successful setting of mixer levels
virtual Core::hresult SetMixerLevels(const string &input, string &output /* @out */) = 0;

// @text setSmartVolControl
// @brief Setting smart volume level
// @param input: audio player id and smart volume params
// @param output: response params
// @retval Core::NONE: Indicates successful setting of smart volume level
virtual Core::hresult SetSmartVolControl(const string &input, string &output /* @out */) = 0;

// @text isPlaying
// @brief playing state of audio player
// @param input: audio player details
// @param output: response params
// @retval Core::NONE: Indicates audio player state retrieved successfully
virtual Core::hresult IsPlaying(const string &input, string &output /* @out */) = 0;

// @text config
// @brief Setting audio player configuration
// @param input: configuration details
// @param output: response params
// @retval Core::NONE: Indicates proper set of audio player configuration
virtual Core::hresult Config(const string &input, string &output /* @out */) = 0;

virtual uint32_t Configure(PluginHost::IShell* service) = 0;
virtual void Register(INotification* sink) = 0;
virtual void Unregister(INotification* sink) = 0;

virtual uint32_t Open(const string &input, string &output /* @out */) = 0;
virtual uint32_t Play(const string &input, string &output /* @out */) = 0;
virtual uint32_t PlayBuffer(const string &input, string &output /* @out */) = 0;
virtual uint32_t Pause(const string &input, string &output /* @out */) = 0;
virtual uint32_t Resume(const string &input, string &output /* @out */) = 0;
virtual uint32_t Stop(const string &input, string &output /* @out */) = 0;
virtual uint32_t Close(const string &input, string &output /* @out */) = 0;
virtual uint32_t SetMixerLevels(const string &input, string &output /* @out */) = 0;
virtual uint32_t SetSmartVolControl(const string &input, string &output /* @out */) = 0;
virtual uint32_t IsPlaying(const string &input, string &output /* @out */) = 0;
virtual uint32_t Config(const string &input, string &output /* @out */) = 0;
virtual uint32_t GetPlayerSessionId(const string &input, string &output /* @out */) = 0;
// @text getPlayerSessionId
// @brief Getting audio player session id
// @param input: player details
// @param output: response params
// @retval Core::NONE: Indicates GetPlayerSessionId retrieved successfuly
virtual Core::hresult GetPlayerSessionId(const string &input, string &output /* @out */) = 0;

};

Expand Down
Loading