18 #ifndef CORE_UBUNTU_MEDIA_TRACK_LIST_H_
19 #define CORE_UBUNTU_MEDIA_TRACK_LIST_H_
23 #include <core/property.h>
24 #include <core/signal.h>
39 class TrackList :
public std::enable_shared_from_this<TrackList>
59 virtual const core::Property<Container>&
tracks()
const = 0;
71 virtual void go_to(
const Track::Id& track,
bool toggle_player_state) = 0;
93 virtual void reset() = 0;
100 virtual const core::Signal<Track::Id>&
on_track_added()
const = 0;
109 virtual const core::Signal<std::pair<Track::Id, bool>>&
on_go_to_track()
const = 0;
119 #endif // CORE_UBUNTU_MEDIA_TRACK_LIST_H_