diff options
Diffstat (limited to 'include/notifications/sound.h')
-rw-r--r-- | include/notifications/sound.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/notifications/sound.h b/include/notifications/sound.h index 8bd3e33..1bff0b0 100644 --- a/include/notifications/sound.h +++ b/include/notifications/sound.h @@ -53,6 +53,28 @@ private: **** ***/ +class SoundBuilder +{ +public: + SoundBuilder() =default; + virtual ~SoundBuilder() =default; + virtual std::shared_ptr<Sound> create(const std::string& role, const std::string& uri, unsigned int volume, bool loop) =0; +}; + +class DefaultSoundBuilder: public SoundBuilder +{ +public: + DefaultSoundBuilder() =default; + ~DefaultSoundBuilder() =default; + virtual std::shared_ptr<Sound> create(const std::string& role, const std::string& uri, unsigned int volume, bool loop) override { + return std::make_shared<Sound>(role, uri, volume, loop); + } +}; + +/*** +**** +***/ + } // namespace notifications } // namespace indicator } // namespace ayatana |