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 
20 #ifndef CORE_UBUNTU_MEDIA_PLAYER_SKELETON_H_
21 #define CORE_UBUNTU_MEDIA_PLAYER_SKELETON_H_
22 
23 #include <core/media/player.h>
24 
25 #include "player_traits.h"
26 
27 #include "mpris/player.h"
28 
29 #include <core/dbus/skeleton.h>
30 #include <core/dbus/types/object_path.h>
31 
32 #include <memory>
33 
34 namespace core
35 {
36 namespace ubuntu
37 {
38 namespace media
39 {
40 class Service;
41 
42 class PlayerSkeleton : public core::dbus::Skeleton<core::ubuntu::media::Player>
43 {
44  public:
46 
47  virtual const core::Property<bool>& can_play() const;
48  virtual const core::Property<bool>& can_pause() const;
49  virtual const core::Property<bool>& can_seek() const;
50  virtual const core::Property<bool>& can_go_previous() const;
51  virtual const core::Property<bool>& can_go_next() const;
52  virtual const core::Property<bool>& is_video_source() const;
53  virtual const core::Property<bool>& is_audio_source() const;
54  virtual const core::Property<PlaybackStatus>& playback_status() const;
55  virtual const core::Property<LoopStatus>& loop_status() const;
56  virtual const core::Property<PlaybackRate>& playback_rate() const;
57  virtual const core::Property<bool>& is_shuffle() const;
58  virtual const core::Property<Track::MetaData>& meta_data_for_current_track() const;
59  virtual const core::Property<Volume>& volume() const;
60  virtual const core::Property<PlaybackRate>& minimum_playback_rate() const;
61  virtual const core::Property<PlaybackRate>& maximum_playback_rate() const;
62  virtual const core::Property<uint64_t>& position() const;
63  virtual const core::Property<uint64_t>& duration() const;
64  virtual const core::Property<AudioStreamRole>& audio_stream_role() const;
65 
66  virtual core::Property<LoopStatus>& loop_status();
67  virtual core::Property<PlaybackRate>& playback_rate();
68  virtual core::Property<bool>& is_shuffle();
69  virtual core::Property<Volume>& volume();
70  virtual core::Property<AudioStreamRole>& audio_stream_role();
71 
72  virtual const core::Signal<uint64_t>& seeked_to() const;
73  virtual const core::Signal<void>& end_of_stream() const;
74  virtual core::Signal<PlaybackStatus>& playback_status_changed();
75 
76  protected:
77  PlayerSkeleton(const core::dbus::types::ObjectPath& session_path);
78 
79  virtual core::Property<PlaybackStatus>& playback_status();
80  virtual core::Property<bool>& can_play();
81  virtual core::Property<bool>& can_pause();
82  virtual core::Property<bool>& can_seek();
83  virtual core::Property<bool>& can_go_previous();
84  virtual core::Property<bool>& can_go_next();
85  virtual core::Property<bool>& is_video_source();
86  virtual core::Property<bool>& is_audio_source();
87  virtual core::Property<Track::MetaData>& meta_data_for_current_track();
88  virtual core::Property<PlaybackRate>& minimum_playback_rate();
89  virtual core::Property<PlaybackRate>& maximum_playback_rate();
90  virtual core::Property<uint64_t>& position();
91  virtual core::Property<uint64_t>& duration();
92 
93  virtual core::Signal<uint64_t>& seeked_to();
94  virtual core::Signal<void>& end_of_stream();
95 
96  private:
97  struct Private;
98  std::unique_ptr<Private> d;
99 };
100 }
101 }
102 }
103 
104 #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
Definition: player.h:29
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
virtual const core::Property< AudioStreamRole > & audio_stream_role() 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