diff options
author | Max Kellermann <max@duempel.org> | 2014-02-06 20:44:33 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-06 20:52:33 +0100 |
commit | b6df4680df08db7827af56d5adf2a04264f2dcb9 (patch) | |
tree | 310e0e9305cdf1e5ef6da56c2f60af15c3774cb6 /src/mixer/plugins/AlsaMixerPlugin.cxx | |
parent | e04090b477a6ec3c18b43250cf2ea37985057455 (diff) | |
download | mpd-b6df4680df08db7827af56d5adf2a04264f2dcb9.tar.gz mpd-b6df4680df08db7827af56d5adf2a04264f2dcb9.tar.xz mpd-b6df4680df08db7827af56d5adf2a04264f2dcb9.zip |
MixerPlugin: convert function pointers to Mixer virtual methods
Diffstat (limited to 'src/mixer/plugins/AlsaMixerPlugin.cxx')
-rw-r--r-- | src/mixer/plugins/AlsaMixerPlugin.cxx | 52 |
1 files changed, 8 insertions, 44 deletions
diff --git a/src/mixer/plugins/AlsaMixerPlugin.cxx b/src/mixer/plugins/AlsaMixerPlugin.cxx index 6fb669c54..3a520725f 100644 --- a/src/mixer/plugins/AlsaMixerPlugin.cxx +++ b/src/mixer/plugins/AlsaMixerPlugin.cxx @@ -79,13 +79,16 @@ public: AlsaMixer(EventLoop &_event_loop) :Mixer(alsa_mixer_plugin), event_loop(_event_loop) {} + virtual ~AlsaMixer(); + void Configure(const config_param ¶m); bool Setup(Error &error); - bool Open(Error &error); - void Close(); - int GetVolume(Error &error); - bool SetVolume(unsigned volume, Error &error); + /* virtual methods from class Mixer */ + virtual bool Open(Error &error) override; + virtual void Close() override; + virtual int GetVolume(Error &error) override; + virtual bool SetVolume(unsigned volume, Error &error) override; }; static constexpr Domain alsa_mixer_domain("alsa_mixer"); @@ -174,13 +177,8 @@ alsa_mixer_init(EventLoop &event_loop, gcc_unused void *ao, return am; } -static void -alsa_mixer_finish(Mixer *data) +AlsaMixer::~AlsaMixer() { - AlsaMixer *am = (AlsaMixer *)data; - - delete am; - /* free libasound's config cache */ snd_config_update_free_global(); } @@ -267,14 +265,6 @@ AlsaMixer::Open(Error &error) return true; } -static bool -alsa_mixer_open(Mixer *data, Error &error) -{ - AlsaMixer *am = (AlsaMixer *)data; - - return am->Open(error); -} - inline void AlsaMixer::Close() { @@ -286,13 +276,6 @@ AlsaMixer::Close() snd_mixer_close(handle); } -static void -alsa_mixer_close(Mixer *data) -{ - AlsaMixer *am = (AlsaMixer *)data; - am->Close(); -} - inline int AlsaMixer::GetVolume(Error &error) { @@ -332,13 +315,6 @@ AlsaMixer::GetVolume(Error &error) return ret; } -static int -alsa_mixer_get_volume(Mixer *mixer, Error &error) -{ - AlsaMixer *am = (AlsaMixer *)mixer; - return am->GetVolume(error); -} - inline bool AlsaMixer::SetVolume(unsigned volume, Error &error) { @@ -367,19 +343,7 @@ AlsaMixer::SetVolume(unsigned volume, Error &error) return true; } -static bool -alsa_mixer_set_volume(Mixer *mixer, unsigned volume, Error &error) -{ - AlsaMixer *am = (AlsaMixer *)mixer; - return am->SetVolume(volume, error); -} - const MixerPlugin alsa_mixer_plugin = { alsa_mixer_init, - alsa_mixer_finish, - alsa_mixer_open, - alsa_mixer_close, - alsa_mixer_get_volume, - alsa_mixer_set_volume, true, }; |