aboutsummaryrefslogtreecommitdiff
path: root/include/notifications/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/notifications/sound.h')
-rw-r--r--include/notifications/sound.h22
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