Music Hub  ..
A session-wide music playback service
core::ubuntu::media::TrackListImplementation Class Reference

#include <track_list_implementation.h>

+ Inheritance diagram for core::ubuntu::media::TrackListImplementation:
+ Collaboration diagram for core::ubuntu::media::TrackListImplementation:

Public Member Functions

 TrackListImplementation (const core::dbus::Bus::Ptr &bus, const core::dbus::Object::Ptr &object, const std::shared_ptr< Engine::MetaDataExtractor > &extractor, const core::ubuntu::media::apparmor::ubuntu::RequestContextResolver::Ptr &request_context_resolver, const core::ubuntu::media::apparmor::ubuntu::RequestAuthenticator::Ptr &request_authenticator)
 
 ~TrackListImplementation ()
 
Track::UriType query_uri_for_track (const Track::Id &id)
 
Track::MetaData query_meta_data_for_track (const Track::Id &id)
 
void add_track_with_uri_at (const Track::UriType &uri, const Track::Id &position, bool make_current)
 
void add_tracks_with_uri_at (const ContainerURI &uris, const Track::Id &position)
 
bool move_track (const Track::Id &id, const Track::Id &to)
 
void remove_track (const Track::Id &id)
 
void go_to (const Track::Id &track)
 
void set_shuffle (bool shuffle)
 
bool shuffle ()
 
const media::TrackList::Containershuffled_tracks ()
 
void reset ()
 
- Public Member Functions inherited from core::ubuntu::media::TrackListSkeleton
 TrackListSkeleton (const core::dbus::Bus::Ptr &bus, const core::dbus::Object::Ptr &object, const core::ubuntu::media::apparmor::ubuntu::RequestContextResolver::Ptr &request_context_resolver, const core::ubuntu::media::apparmor::ubuntu::RequestAuthenticator::Ptr &request_authenticator)
 
 ~TrackListSkeleton ()
 
bool has_next ()
 
bool has_previous ()
 
Track::Id next ()
 
Track::Id previous ()
 
const Track::Idcurrent ()
 
const core::Property< bool > & can_edit_tracks () const
 
const core::Property< Container > & tracks () const
 
const core::Signal< ContainerTrackIdTuple > & on_track_list_replaced () const
 
core::Signal< ContainerTrackIdTuple > & on_track_list_replaced ()
 
const core::Signal< Track::Id > & on_track_added () const
 
core::Signal< Track::Id > & on_track_added ()
 
const core::Signal< ContainerURI > & on_tracks_added () const
 
core::Signal< ContainerURI > & on_tracks_added ()
 
const core::Signal< TrackIdTuple > & on_track_moved () const
 
core::Signal< TrackIdTuple > & on_track_moved ()
 
const core::Signal< Track::Id > & on_track_removed () const
 
const core::Signal< void > & on_track_list_reset () const
 
const core::Signal< Track::Id > & on_track_changed () const
 
core::Signal< Track::Id > & on_track_changed ()
 
const core::Signal< Track::Id > & on_go_to_track () const
 
core::Signal< Track::Id > & on_go_to_track ()
 
const core::Signal< void > & on_end_of_tracklist () const
 
core::Signal< void > & on_end_of_tracklist ()
 
core::Signal< Track::Id > & on_track_removed ()
 
core::Signal< void > & on_track_list_reset ()
 
core::Property< Container > & tracks ()
 
void on_loop_status_changed (const core::ubuntu::media::Player::LoopStatus &loop_status)
 
core::ubuntu::media::Player::LoopStatus loop_status () const
 
void on_position_changed (uint64_t position)
 
void on_shuffle_changed (bool shuffle)
 
- Public Member Functions inherited from core::ubuntu::media::TrackList
 TrackList (const TrackList &)=delete
 
 ~TrackList ()
 
TrackListoperator= (const TrackList &)=delete
 
bool operator== (const TrackList &) const =delete
 
bool has_next () const
 
bool has_previous () const
 

Additional Inherited Members

- Public Types inherited from core::ubuntu::media::TrackList
typedef std::vector< Track::IdContainer
 
typedef std::vector< Track::UriTypeContainerURI
 
typedef std::tuple< std::vector< Track::Id >, Track::IdContainerTrackIdTuple
 
typedef std::tuple< Track::Id, Track::IdTrackIdTuple
 
typedef Container::iterator Iterator
 
typedef Container::const_iterator ConstIterator
 
- Static Public Member Functions inherited from core::ubuntu::media::TrackList
static const Track::Idafter_empty_track ()
 
- Protected Member Functions inherited from core::ubuntu::media::TrackListSkeleton
bool is_first_track (const ConstIterator &it)
 
bool is_last_track (const ConstIterator &it)
 
const TrackList::ConstIteratorcurrent_iterator ()
 
bool update_current_iterator (const TrackList::ConstIterator &it)
 
void reset_current_iterator_if_needed ()
 
media::Track::Id get_current_track (void)
 
void set_current_track (const media::Track::Id &id)
 
TrackList::ConstIterator get_current_shuffled ()
 
core::Property< bool > & can_edit_tracks ()
 
void emit_on_end_of_tracklist ()
 
void reset ()
 
- Protected Member Functions inherited from core::ubuntu::media::TrackList
 TrackList ()
 

Detailed Description

Definition at line 31 of file track_list_implementation.h.

Constructor & Destructor Documentation

◆ TrackListImplementation()

core::ubuntu::media::TrackListImplementation::TrackListImplementation ( const core::dbus::Bus::Ptr &  bus,
const core::dbus::Object::Ptr &  object,
const std::shared_ptr< Engine::MetaDataExtractor > &  extractor,
const core::ubuntu::media::apparmor::ubuntu::RequestContextResolver::Ptr request_context_resolver,
const core::ubuntu::media::apparmor::ubuntu::RequestAuthenticator::Ptr request_authenticator 
)

◆ ~TrackListImplementation()

core::ubuntu::media::TrackListImplementation::~TrackListImplementation ( )

Member Function Documentation

◆ add_track_with_uri_at()

void core::ubuntu::media::TrackListImplementation::add_track_with_uri_at ( const Track::UriType uri,
const Track::Id position,
bool  make_current 
)
virtual

◆ add_tracks_with_uri_at()

void core::ubuntu::media::TrackListImplementation::add_tracks_with_uri_at ( const ContainerURI uris,
const Track::Id position 
)
virtual

◆ go_to()

void core::ubuntu::media::TrackListImplementation::go_to ( const Track::Id track)
virtual

◆ move_track()

bool core::ubuntu::media::TrackListImplementation::move_track ( const Track::Id id,
const Track::Id to 
)
virtual

Moves track 'id' from its old position in the TrackList to new position.

Implements core::ubuntu::media::TrackList.

Referenced by media::TrackListImplementation::Private::get_shuffled_insert_it().

◆ query_meta_data_for_track()

Track::MetaData core::ubuntu::media::TrackListImplementation::query_meta_data_for_track ( const Track::Id id)
virtual

Gets all the metadata available for a given Track.

Implements core::ubuntu::media::TrackList.

Referenced by media::TrackListImplementation::Private::get_shuffled_insert_it().

◆ query_uri_for_track()

Track::UriType core::ubuntu::media::TrackListImplementation::query_uri_for_track ( const Track::Id id)
virtual

◆ remove_track()

void core::ubuntu::media::TrackListImplementation::remove_track ( const Track::Id id)
virtual

◆ reset()

void core::ubuntu::media::TrackListImplementation::reset ( )
virtual

Clears and resets the TrackList to the same as a newly constructed instance.

Implements core::ubuntu::media::TrackList.

Referenced by media::TrackListImplementation::Private::get_shuffled_insert_it().

◆ set_shuffle()

void core::ubuntu::media::TrackListImplementation::set_shuffle ( bool  shuffle)
virtual

◆ shuffle()

bool core::ubuntu::media::TrackListImplementation::shuffle ( )
virtual

◆ shuffled_tracks()

const media::TrackList::Container& core::ubuntu::media::TrackListImplementation::shuffled_tracks ( )
virtual

The documentation for this class was generated from the following file: