Music Hub  ..
A session-wide music playback service
media::PlayerImplementation::Private< Parent > Struct Template Reference
+ Inheritance diagram for media::PlayerImplementation::Private< Parent >:
+ Collaboration diagram for media::PlayerImplementation::Private< Parent >:

Public Member Functions

 Private (PlayerImplementation *parent, const media::PlayerImplementation< Parent >::Configuration &config)
 
 ~Private ()
 
std::function< void(const Engine::State &state)> make_state_change_handler ()
 
std::function< void(const media::Player::PlaybackStatus &status)> make_playback_status_change_handler ()
 
void request_power_state ()
 
void clear_wakelock (const wakelock_clear_t &wakelock)
 
wakelock_clear_t current_wakelock_type () const
 
void clear_wakelocks ()
 
std::function< void()> make_clear_wakelock_functor ()
 
void on_client_died ()
 
void open_first_track_from_tracklist (const media::Track::Id &id)
 
void update_mpris_properties ()
 
std::string get_uri_for_album_artwork (const media::Track::UriType &uri, const media::Track::MetaData &metadata)
 
void update_mpris_metadata (const media::Track::UriType &uri, const media::Track::MetaData &md)
 
bool pause_other_players (media::Player::PlayerKey key)
 
bool update_current_player (media::Player::PlayerKey key)
 
bool is_current_player () const
 
bool is_multimedia_role () const
 
bool reset_current_player ()
 

Public Attributes

media::PlayerImplementation< Parent > * parent
 
media::PlayerImplementation< Parent >::Configuration config
 
media::power::StateController::Lock< media::power::DisplayState >::Ptr display_state_lock
 
media::power::StateController::Lock< media::power::SystemState >::Ptr system_state_lock
 
std::shared_ptr< Engine > engine
 
std::shared_ptr< media::TrackListImplementationtrack_list
 
std::atomic< int > system_wakelock_count
 
std::atomic< int > display_wakelock_count
 
Engine::State previous_state
 
core::Signal on_client_disconnected
 
core::Connection engine_state_change_connection
 
core::Connection engine_playback_status_change_connection
 
std::mutex doing_go_to_track
 
std::atomic< bool > doing_abandon
 

Detailed Description

template<typename Parent>
struct media::PlayerImplementation::Private< Parent >

Definition at line 50 of file player_implementation.cpp.

Constructor & Destructor Documentation

◆ Private()

template<typename Parent >
media::PlayerImplementation::Private< Parent >::Private ( PlayerImplementation parent,
const media::PlayerImplementation< Parent >::Configuration &  config 
)
inline

Definition at line 61 of file player_implementation.cpp.

References MH_INFO.

◆ ~Private()

template<typename Parent >
media::PlayerImplementation::Private< Parent >::~Private ( )
inline

Definition at line 103 of file player_implementation.cpp.

Member Function Documentation

◆ clear_wakelock()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::clear_wakelock ( const wakelock_clear_t wakelock)
inline

Definition at line 228 of file player_implementation.cpp.

References MH_INFO, MH_TRACE, and MH_WARNING.

◆ clear_wakelocks()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::clear_wakelocks ( )
inline

Definition at line 270 of file player_implementation.cpp.

◆ current_wakelock_type()

template<typename Parent >
wakelock_clear_t media::PlayerImplementation::Private< Parent >::current_wakelock_type ( ) const
inline

Definition at line 264 of file player_implementation.cpp.

◆ get_uri_for_album_artwork()

template<typename Parent >
std::string media::PlayerImplementation::Private< Parent >::get_uri_for_album_artwork ( const media::Track::UriType uri,
const media::Track::MetaData &  metadata 
)
inline

Definition at line 340 of file player_implementation.cpp.

◆ is_current_player()

template<typename Parent >
bool media::PlayerImplementation::Private< Parent >::is_current_player ( ) const
inline

Definition at line 444 of file player_implementation.cpp.

◆ is_multimedia_role()

template<typename Parent >
bool media::PlayerImplementation::Private< Parent >::is_multimedia_role ( ) const
inline

Definition at line 455 of file player_implementation.cpp.

◆ make_clear_wakelock_functor()

template<typename Parent >
std::function<void()> media::PlayerImplementation::Private< Parent >::make_clear_wakelock_functor ( )
inline

Definition at line 285 of file player_implementation.cpp.

◆ make_playback_status_change_handler()

template<typename Parent >
std::function<void(const media::Player::PlaybackStatus& status)> media::PlayerImplementation::Private< Parent >::make_playback_status_change_handler ( )
inline

Definition at line 189 of file player_implementation.cpp.

References MH_INFO.

◆ make_state_change_handler()

template<typename Parent >
std::function<void(const Engine::State& state)> media::PlayerImplementation::Private< Parent >::make_state_change_handler ( )
inline

◆ on_client_died()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::on_client_died ( )
inline

Definition at line 299 of file player_implementation.cpp.

◆ open_first_track_from_tracklist()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::open_first_track_from_tracklist ( const media::Track::Id id)
inline

Definition at line 304 of file player_implementation.cpp.

References MH_INFO.

◆ pause_other_players()

template<typename Parent >
bool media::PlayerImplementation::Private< Parent >::pause_other_players ( media::Player::PlayerKey  key)
inline

Definition at line 420 of file player_implementation.cpp.

◆ request_power_state()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::request_power_state ( )
inline

Definition at line 198 of file player_implementation.cpp.

References MH_INFO, MH_TRACE, and MH_WARNING.

◆ reset_current_player()

template<typename Parent >
bool media::PlayerImplementation::Private< Parent >::reset_current_player ( )
inline

Definition at line 460 of file player_implementation.cpp.

◆ update_current_player()

template<typename Parent >
bool media::PlayerImplementation::Private< Parent >::update_current_player ( media::Player::PlayerKey  key)
inline

Definition at line 432 of file player_implementation.cpp.

◆ update_mpris_metadata()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::update_mpris_metadata ( const media::Track::UriType uri,
const media::Track::MetaData &  md 
)
inline

Definition at line 389 of file player_implementation.cpp.

References MH_WARNING.

◆ update_mpris_properties()

template<typename Parent >
void media::PlayerImplementation::Private< Parent >::update_mpris_properties ( )
inline

Definition at line 319 of file player_implementation.cpp.

References MH_INFO.

Member Data Documentation

◆ config

template<typename Parent >
media::PlayerImplementation<Parent>::Configuration media::PlayerImplementation::Private< Parent >::config

Definition at line 475 of file player_implementation.cpp.

◆ display_state_lock

template<typename Parent >
media::power::StateController::Lock<media::power::DisplayState>::Ptr media::PlayerImplementation::Private< Parent >::display_state_lock

Definition at line 476 of file player_implementation.cpp.

◆ display_wakelock_count

template<typename Parent >
std::atomic<int> media::PlayerImplementation::Private< Parent >::display_wakelock_count

Definition at line 482 of file player_implementation.cpp.

◆ doing_abandon

template<typename Parent >
std::atomic<bool> media::PlayerImplementation::Private< Parent >::doing_abandon

Definition at line 489 of file player_implementation.cpp.

◆ doing_go_to_track

template<typename Parent >
std::mutex media::PlayerImplementation::Private< Parent >::doing_go_to_track

Definition at line 488 of file player_implementation.cpp.

◆ engine

template<typename Parent >
std::shared_ptr<Engine> media::PlayerImplementation::Private< Parent >::engine

Definition at line 479 of file player_implementation.cpp.

◆ engine_playback_status_change_connection

template<typename Parent >
core::Connection media::PlayerImplementation::Private< Parent >::engine_playback_status_change_connection

Definition at line 486 of file player_implementation.cpp.

◆ engine_state_change_connection

template<typename Parent >
core::Connection media::PlayerImplementation::Private< Parent >::engine_state_change_connection

Definition at line 485 of file player_implementation.cpp.

◆ on_client_disconnected

template<typename Parent >
core::Signal media::PlayerImplementation::Private< Parent >::on_client_disconnected

Definition at line 484 of file player_implementation.cpp.

◆ parent

Definition at line 473 of file player_implementation.cpp.

◆ previous_state

template<typename Parent >
Engine::State media::PlayerImplementation::Private< Parent >::previous_state

Definition at line 483 of file player_implementation.cpp.

◆ system_state_lock

template<typename Parent >
media::power::StateController::Lock<media::power::SystemState>::Ptr media::PlayerImplementation::Private< Parent >::system_state_lock

Definition at line 477 of file player_implementation.cpp.

◆ system_wakelock_count

template<typename Parent >
std::atomic<int> media::PlayerImplementation::Private< Parent >::system_wakelock_count

Definition at line 481 of file player_implementation.cpp.

◆ track_list

template<typename Parent >
std::shared_ptr<media::TrackListImplementation> media::PlayerImplementation::Private< Parent >::track_list

Definition at line 480 of file player_implementation.cpp.


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