~ricmm/media-hub/multiple-sessions

« back to all changes in this revision

Viewing changes to src/core/media/track_list_stub.cpp

MergedĀ lp:~thomas-voss/media-hub/switch-to-properties-cpp

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
#include "track_list_stub.h"
20
20
 
21
21
#include <core/media/player.h>
22
 
#include <core/media/property.h>
23
 
#include <core/media/signal.h>
24
22
#include <core/media/track_list.h>
25
23
 
26
24
#include "property_stub.h"
29
27
 
30
28
#include "mpris/track_list.h"
31
29
 
32
 
#include <org/freedesktop/dbus/types/object_path.h>
33
 
#include <org/freedesktop/dbus/types/variant.h>
34
 
#include <org/freedesktop/dbus/types/stl/map.h>
35
 
#include <org/freedesktop/dbus/types/stl/vector.h>
 
30
#include <core/dbus/property.h>
 
31
#include <core/dbus/types/object_path.h>
 
32
#include <core/dbus/types/variant.h>
 
33
#include <core/dbus/types/stl/map.h>
 
34
#include <core/dbus/types/stl/vector.h>
36
35
 
37
36
#include <limits>
38
37
 
39
 
namespace dbus = org::freedesktop::dbus;
 
38
namespace dbus = core::dbus;
40
39
namespace media = core::ubuntu::media;
41
40
 
42
41
struct media::TrackListStub::Private
57
56
    std::shared_ptr<media::Player> parent;
58
57
    dbus::Object::Ptr object;
59
58
 
60
 
    PropertyStub<bool, mpris::TrackList::Properties::CanEditTracks> can_edit_tracks;
61
 
    PropertyStub<TrackList::Container, mpris::TrackList::Properties::Tracks> tracks;
 
59
    std::shared_ptr<core::dbus::Property<mpris::TrackList::Properties::CanEditTracks>> can_edit_tracks;
 
60
    std::shared_ptr<core::dbus::Property<mpris::TrackList::Properties::Tracks>> tracks;
62
61
 
63
 
    Signal<void> on_track_list_replaced;
64
 
    Signal<Track::Id> on_track_added;
65
 
    Signal<Track::Id> on_track_removed;
66
 
    Signal<Track::Id> on_track_changed;
 
62
    core::Signal<void> on_track_list_replaced;
 
63
    core::Signal<Track::Id> on_track_added;
 
64
    core::Signal<Track::Id> on_track_removed;
 
65
    core::Signal<Track::Id> on_track_changed;
67
66
};
68
67
 
69
68
media::TrackListStub::TrackListStub(
70
69
        const std::shared_ptr<media::Player>& parent,
71
 
        const org::freedesktop::dbus::types::ObjectPath& op)
 
70
        const core::dbus::types::ObjectPath& op)
72
71
    : dbus::Stub<media::TrackList>(the_session_bus()),
73
72
      d(new Private(this, parent, op))
74
73
{
78
77
{
79
78
}
80
79
 
81
 
const media::Property<bool>& media::TrackListStub::can_edit_tracks() const
 
80
const core::Property<bool>& media::TrackListStub::can_edit_tracks() const
82
81
{
83
 
    return d->can_edit_tracks;
 
82
    return *d->can_edit_tracks;
84
83
}
85
84
 
86
 
const media::Property<media::TrackList::Container>& media::TrackListStub::tracks() const
 
85
const core::Property<media::TrackList::Container>& media::TrackListStub::tracks() const
87
86
{
88
 
    return d->tracks;
 
87
    return *d->tracks;
89
88
}
90
89
 
91
90
media::Track::MetaData media::TrackListStub::query_meta_data_for_track(const media::Track::Id& id)
138
137
        throw std::runtime_error("Problem adding track: " + op.error());
139
138
}
140
139
 
141
 
const media::Signal<void>& media::TrackListStub::on_track_list_replaced() const
 
140
const core::Signal<void>& media::TrackListStub::on_track_list_replaced() const
142
141
{
143
142
    return d->on_track_list_replaced;
144
143
}
145
144
 
146
 
const media::Signal<media::Track::Id>& media::TrackListStub::on_track_added() const
 
145
const core::Signal<media::Track::Id>& media::TrackListStub::on_track_added() const
147
146
{
148
147
    return d->on_track_added;
149
148
}
150
149
 
151
 
const media::Signal<media::Track::Id>& media::TrackListStub::on_track_removed() const
 
150
const core::Signal<media::Track::Id>& media::TrackListStub::on_track_removed() const
152
151
{
153
152
    return d->on_track_removed;
154
153
}
155
154
 
156
 
const media::Signal<media::Track::Id>& media::TrackListStub::on_track_changed() const
 
155
const core::Signal<media::Track::Id>& media::TrackListStub::on_track_changed() const
157
156
{
158
157
    return d->on_track_changed;
159
158
}