58
void handle_next(DBusMessage* msg)
59
void handle_next(const core::dbus::Message::Ptr& msg)
61
62
auto reply = dbus::Message::make_method_return(msg);
62
impl->access_bus()->send(reply->get());
63
impl->access_bus()->send(reply);
65
void handle_previous(DBusMessage* msg)
66
void handle_previous(const core::dbus::Message::Ptr& msg)
68
69
auto reply = dbus::Message::make_method_return(msg);
69
impl->access_bus()->send(reply->get());
70
impl->access_bus()->send(reply);
72
void handle_pause(DBusMessage* msg)
73
void handle_pause(const core::dbus::Message::Ptr& msg)
75
76
auto reply = dbus::Message::make_method_return(msg);
76
impl->access_bus()->send(reply->get());
77
impl->access_bus()->send(reply);
79
80
void handle_playpause(DBusMessage*)
83
void handle_stop(DBusMessage* msg)
84
void handle_stop(const core::dbus::Message::Ptr& msg)
86
87
auto reply = dbus::Message::make_method_return(msg);
87
impl->access_bus()->send(reply->get());
88
impl->access_bus()->send(reply);
90
void handle_play(DBusMessage* msg)
91
void handle_play(const core::dbus::Message::Ptr& msg)
93
94
auto reply = dbus::Message::make_method_return(msg);
94
impl->access_bus()->send(reply->get());
95
impl->access_bus()->send(reply);
97
void handle_seek(DBusMessage* msg)
98
void handle_seek(const core::dbus::Message::Ptr& in)
99
auto in = dbus::Message::from_raw_message(msg);
101
101
in->reader() >> ticks;
102
102
impl->seek_to(std::chrono::microseconds(ticks));
105
void handle_set_position(DBusMessage*)
105
void handle_set_position(const core::dbus::Message::Ptr&)
109
void handle_open_uri(DBusMessage* msg)
109
void handle_open_uri(const core::dbus::Message::Ptr& in)
111
auto in = dbus::Message::from_raw_message(msg);
112
111
Track::UriType uri;
113
112
in->reader() >> uri;
115
auto reply = dbus::Message::make_method_return(msg);
114
auto reply = dbus::Message::make_method_return(in);
116
115
reply->writer() << impl->open_uri(uri);
117
impl->access_bus()->send(reply->get());
116
impl->access_bus()->send(reply);
120
119
media::PlayerSkeleton* impl;
121
120
dbus::Object::Ptr object;
124
PropertyStub<bool, mpris::Player::Properties::CanPlay> can_play;
125
PropertyStub<bool, mpris::Player::Properties::CanPause> can_pause;
126
PropertyStub<bool, mpris::Player::Properties::CanSeek> can_seek;
127
PropertyStub<bool, mpris::Player::Properties::CanControl> can_control;
128
PropertyStub<bool, mpris::Player::Properties::CanGoNext> can_go_next;
129
PropertyStub<bool, mpris::Player::Properties::CanGoPrevious> can_go_previous;
123
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanPlay>> can_play;
124
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanPause>> can_pause;
125
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanSeek>> can_seek;
126
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanControl>> can_control;
127
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanGoNext>> can_go_next;
128
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::CanGoPrevious>> can_go_previous;
131
PropertyStub<Player::PlaybackStatus, mpris::Player::Properties::PlaybackStatus> playback_status;
132
PropertyStub<Player::LoopStatus, mpris::Player::Properties::LoopStatus> loop_status;
133
PropertyStub<Player::PlaybackRate, mpris::Player::Properties::PlaybackRate> playback_rate;
134
PropertyStub<bool, mpris::Player::Properties::Shuffle> is_shuffle;
135
PropertyStub<Track::MetaData, mpris::Player::Properties::MetaData> meta_data_for_current_track;
136
PropertyStub<Player::Volume, mpris::Player::Properties::Volume> volume;
137
PropertyStub<Player::PlaybackRate, mpris::Player::Properties::MinimumRate> minimum_playback_rate;
138
PropertyStub<Player::PlaybackRate, mpris::Player::Properties::MaximumRate> maximum_playback_rate;
130
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::PlaybackStatus>> playback_status;
131
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::LoopStatus>> loop_status;
132
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::PlaybackRate>> playback_rate;
133
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::Shuffle>> is_shuffle;
134
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::MetaData>> meta_data_for_current_track;
135
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::Volume>> volume;
136
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::MinimumRate>> minimum_playback_rate;
137
std::shared_ptr<core::dbus::Property<mpris::Player::Properties::MaximumRate>> maximum_playback_rate;
191
const media::Property<bool>& media::PlayerSkeleton::can_play() const
193
return d->properties.can_play;
196
const media::Property<bool>& media::PlayerSkeleton::can_pause() const
198
return d->properties.can_pause;
201
const media::Property<bool>& media::PlayerSkeleton::can_seek() const
203
return d->properties.can_seek;
206
const media::Property<bool>& media::PlayerSkeleton::can_go_previous() const
208
return d->properties.can_go_previous;
211
const media::Property<bool>& media::PlayerSkeleton::can_go_next() const
213
return d->properties.can_go_next;
216
const media::Property<media::Player::PlaybackStatus>& media::PlayerSkeleton::playback_status() const
218
return d->properties.playback_status;
221
const media::Property<media::Player::LoopStatus>& media::PlayerSkeleton::loop_status() const
223
return d->properties.loop_status;
226
const media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::playback_rate() const
228
return d->properties.playback_rate;
231
const media::Property<bool>& media::PlayerSkeleton::is_shuffle() const
233
return d->properties.is_shuffle;
236
const media::Property<media::Track::MetaData>& media::PlayerSkeleton::meta_data_for_current_track() const
238
return d->properties.meta_data_for_current_track;
241
const media::Property<media::Player::Volume>& media::PlayerSkeleton::volume() const
243
return d->properties.volume;
246
const media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::minimum_playback_rate() const
248
return d->properties.minimum_playback_rate;
251
const media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::maximum_playback_rate() const
253
return d->properties.maximum_playback_rate;
256
media::Property<media::Player::LoopStatus>& media::PlayerSkeleton::loop_status()
258
return d->properties.loop_status;
261
media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::playback_rate()
263
return d->properties.playback_rate;
266
media::Property<bool>& media::PlayerSkeleton::is_shuffle()
268
return d->properties.is_shuffle;
271
media::Property<media::Player::Volume>& media::PlayerSkeleton::volume()
273
return d->properties.volume;
276
media::Property<media::Player::PlaybackStatus>& media::PlayerSkeleton::playback_status()
278
return d->properties.playback_status;
281
media::Property<bool>& media::PlayerSkeleton::can_play()
283
return d->properties.can_play;
286
media::Property<bool>& media::PlayerSkeleton::can_pause()
288
return d->properties.can_pause;
291
media::Property<bool>& media::PlayerSkeleton::can_seek()
293
return d->properties.can_seek;
296
media::Property<bool>& media::PlayerSkeleton::can_go_previous()
298
return d->properties.can_go_previous;
301
media::Property<bool>& media::PlayerSkeleton::can_go_next()
303
return d->properties.can_go_next;
306
media::Property<media::Track::MetaData>& media::PlayerSkeleton::meta_data_for_current_track()
308
return d->properties.meta_data_for_current_track;
311
media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::minimum_playback_rate()
313
return d->properties.minimum_playback_rate;
316
media::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::maximum_playback_rate()
318
return d->properties.maximum_playback_rate;
321
const media::Signal<uint64_t>& media::PlayerSkeleton::seeked_to() const
323
static const media::Signal<uint64_t> signal;
190
const core::Property<bool>& media::PlayerSkeleton::can_play() const
192
return *d->properties.can_play;
195
const core::Property<bool>& media::PlayerSkeleton::can_pause() const
197
return *d->properties.can_pause;
200
const core::Property<bool>& media::PlayerSkeleton::can_seek() const
202
return *d->properties.can_seek;
205
const core::Property<bool>& media::PlayerSkeleton::can_go_previous() const
207
return *d->properties.can_go_previous;
210
const core::Property<bool>& media::PlayerSkeleton::can_go_next() const
212
return *d->properties.can_go_next;
215
const core::Property<media::Player::PlaybackStatus>& media::PlayerSkeleton::playback_status() const
217
return *d->properties.playback_status;
220
const core::Property<media::Player::LoopStatus>& media::PlayerSkeleton::loop_status() const
222
return *d->properties.loop_status;
225
const core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::playback_rate() const
227
return *d->properties.playback_rate;
230
const core::Property<bool>& media::PlayerSkeleton::is_shuffle() const
232
return *d->properties.is_shuffle;
235
const core::Property<media::Track::MetaData>& media::PlayerSkeleton::meta_data_for_current_track() const
237
return *d->properties.meta_data_for_current_track;
240
const core::Property<media::Player::Volume>& media::PlayerSkeleton::volume() const
242
return *d->properties.volume;
245
const core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::minimum_playback_rate() const
247
return *d->properties.minimum_playback_rate;
250
const core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::maximum_playback_rate() const
252
return *d->properties.maximum_playback_rate;
255
core::Property<media::Player::LoopStatus>& media::PlayerSkeleton::loop_status()
257
return *d->properties.loop_status;
260
core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::playback_rate()
262
return *d->properties.playback_rate;
265
core::Property<bool>& media::PlayerSkeleton::is_shuffle()
267
return *d->properties.is_shuffle;
270
core::Property<media::Player::Volume>& media::PlayerSkeleton::volume()
272
return *d->properties.volume;
275
core::Property<media::Player::PlaybackStatus>& media::PlayerSkeleton::playback_status()
277
return *d->properties.playback_status;
280
core::Property<bool>& media::PlayerSkeleton::can_play()
282
return *d->properties.can_play;
285
core::Property<bool>& media::PlayerSkeleton::can_pause()
287
return *d->properties.can_pause;
290
core::Property<bool>& media::PlayerSkeleton::can_seek()
292
return *d->properties.can_seek;
295
core::Property<bool>& media::PlayerSkeleton::can_go_previous()
297
return *d->properties.can_go_previous;
300
core::Property<bool>& media::PlayerSkeleton::can_go_next()
302
return *d->properties.can_go_next;
305
core::Property<media::Track::MetaData>& media::PlayerSkeleton::meta_data_for_current_track()
307
return *d->properties.meta_data_for_current_track;
310
core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::minimum_playback_rate()
312
return *d->properties.minimum_playback_rate;
315
core::Property<media::Player::PlaybackRate>& media::PlayerSkeleton::maximum_playback_rate()
317
return *d->properties.maximum_playback_rate;
320
const core::Signal<uint64_t>& media::PlayerSkeleton::seeked_to() const
322
static const core::Signal<uint64_t> signal;