Music Hub  ..
A session-wide music playback service
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
player_skeleton.h
Go to the documentation of this file.
1 
19 #ifndef CORE_UBUNTU_MEDIA_PLAYER_SKELETON_H_
20 #define CORE_UBUNTU_MEDIA_PLAYER_SKELETON_H_
21 
22 #include <core/media/player.h>
23 
24 #include "player_traits.h"
25 
26 #include "mpris/player.h"
27 
28 #include <core/dbus/skeleton.h>
29 #include <core/dbus/types/object_path.h>
30 
31 #include <memory>
32 
33 namespace core
34 {
35 namespace ubuntu
36 {
37 namespace media
38 {
39 class Service;
40 
41 class PlayerSkeleton : public core::dbus::Skeleton<core::ubuntu::media::Player>
42 {
43  public:
45 
46  virtual const core::Property<bool>& can_play() const;
47  virtual const core::Property<bool>& can_pause() const;
48  virtual const core::Property<bool>& can_seek() const;
49  virtual const core::Property<bool>& can_go_previous() const;
50  virtual const core::Property<bool>& can_go_next() const;
51  virtual const core::Property<bool>& is_video_source() const;
52  virtual const core::Property<bool>& is_audio_source() const;
53  virtual const core::Property<PlaybackStatus>& playback_status() const;
54  virtual const core::Property<LoopStatus>& loop_status() const;
55  virtual const core::Property<PlaybackRate>& playback_rate() const;
56  virtual const core::Property<bool>& is_shuffle() const;
57  virtual const core::Property<Track::MetaData>& meta_data_for_current_track() const;
58  virtual const core::Property<Volume>& volume() const;
59  virtual const core::Property<PlaybackRate>& minimum_playback_rate() const;
60  virtual const core::Property<PlaybackRate>& maximum_playback_rate() const;
61  virtual const core::Property<uint64_t>& position() const;
62  virtual const core::Property<uint64_t>& duration() const;
63 
64  virtual core::Property<LoopStatus>& loop_status();
65  virtual core::Property<PlaybackRate>& playback_rate();
66  virtual core::Property<bool>& is_shuffle();
67  virtual core::Property<Volume>& volume();
68 
69  virtual const core::Signal<uint64_t>& seeked_to() const;
70  virtual const core::Signal<void>& end_of_stream() const;
71  virtual core::Signal<PlaybackStatus>& playback_status_changed();
72 
73  protected:
74  PlayerSkeleton(const core::dbus::types::ObjectPath& session_path);
75 
76  virtual core::Property<PlaybackStatus>& playback_status();
77  virtual core::Property<bool>& can_play();
78  virtual core::Property<bool>& can_pause();
79  virtual core::Property<bool>& can_seek();
80  virtual core::Property<bool>& can_go_previous();
81  virtual core::Property<bool>& can_go_next();
82  virtual core::Property<bool>& is_video_source();
83  virtual core::Property<bool>& is_audio_source();
84  virtual core::Property<Track::MetaData>& meta_data_for_current_track();
85  virtual core::Property<PlaybackRate>& minimum_playback_rate();
86  virtual core::Property<PlaybackRate>& maximum_playback_rate();
87  virtual core::Property<uint64_t>& position();
88  virtual core::Property<uint64_t>& duration();
89 
90  virtual core::Signal<uint64_t>& seeked_to();
91  virtual core::Signal<void>& end_of_stream();
92 
93  private:
94  struct Private;
95  std::unique_ptr<Private> d;
96 };
97 }
98 }
99 }
100 
101 #endif // CORE_UBUNTU_MEDIA_PLAYER_SKELETON_H_
virtual const core::Property< PlaybackStatus > & playback_status() const
virtual const core::Property< bool > & is_video_source() const
virtual const core::Signal< void > & end_of_stream() const
virtual const core::Property< bool > & can_seek() const
virtual const core::Property< PlaybackRate > & maximum_playback_rate() const
virtual const core::Property< bool > & is_shuffle() const
virtual const core::Property< bool > & can_go_next() const
virtual const core::Property< bool > & can_go_previous() const
virtual const core::Property< uint64_t > & duration() const
virtual const core::Property< bool > & can_play() const
virtual const core::Signal< uint64_t > & seeked_to() const
virtual const core::Property< Track::MetaData > & meta_data_for_current_track() const
virtual const core::Property< bool > & can_pause() const
virtual const core::Property< LoopStatus > & loop_status() const
virtual const core::Property< PlaybackRate > & playback_rate() const
PlayerSkeleton(const core::dbus::types::ObjectPath &session_path)
virtual const core::Property< PlaybackRate > & minimum_playback_rate() const
virtual const core::Property< Volume > & volume() const
virtual core::Signal< PlaybackStatus > & playback_status_changed()
virtual const core::Property< bool > & is_audio_source() const
virtual const core::Property< uint64_t > & position() const