Music Hub  ..
A session-wide music playback service
media::ServiceImplementation::Private Struct Reference
+ Collaboration diagram for media::ServiceImplementation::Private:

Public Member Functions

 Private ()
 
 ~Private ()
 
void media_recording_started (bool started)
 
pa_threaded_mainloop * mainloop ()
 
bool is_port_available (pa_card_port_info **ports, uint32_t n_ports, const char *name)
 
void update_wired_output ()
 
void pause_playback_if_necessary (int index)
 
void set_active_sink (const char *name)
 
void update_active_sink ()
 
void create_pulse_context ()
 
void release_pulse_context ()
 

Static Public Member Functions

static void media_recording_started_callback (bool started, void *context)
 

Public Attributes

media::Player::PlayerKey resume_key
 
std::thread worker
 
dbus::Bus::Ptr bus
 
boost::asio::io_service io_service
 
boost::asio::io_service::work keep_alive
 
std::shared_ptr< dbus::Object > indicator_power_session
 
std::shared_ptr< core::dbus::Property< core::IndicatorPower::PowerLevel > > power_level
 
std::shared_ptr< core::dbus::Property< core::IndicatorPower::IsWarning > > is_warning
 
int disp_cookie
 
std::shared_ptr< dbus::Object > uscreen_session
 
MediaRecorderObserver * observer
 
pa_mainloop_api * pulse_mainloop_api
 
pa_threaded_mainloop * pulse_mainloop
 
pa_context * pulse_context
 
std::thread pulse_worker
 
std::mutex pulse_mutex
 
std::condition_variable pcv
 
bool headphones_connected
 
bool a2dp_connected
 
std::tuple< int, int, std::string > active_sink
 
int primary_idx
 
core::Signal< void > pause_playback
 
std::unique_ptr< CallMonitorcall_monitor
 
std::list< media::Player::PlayerKeypaused_sessions
 

Detailed Description

Definition at line 49 of file service_implementation.cpp.

Constructor & Destructor Documentation

media::ServiceImplementation::Private::Private ( )
inline

Definition at line 51 of file service_implementation.cpp.

References mainloop().

+ Here is the call graph for this function:

media::ServiceImplementation::Private::~Private ( )
inline

Definition at line 148 of file service_implementation.cpp.

Member Function Documentation

void media::ServiceImplementation::Private::create_pulse_context ( )
inline

Definition at line 313 of file service_implementation.cpp.

References mainloop(), pcv, primary_idx, pulse_mutex, update_active_sink(), and update_wired_output().

+ Here is the call graph for this function:

bool media::ServiceImplementation::Private::is_port_available ( pa_card_port_info **  ports,
uint32_t  n_ports,
const char *  name 
)
inline

Definition at line 212 of file service_implementation.cpp.

Referenced by update_wired_output().

pa_threaded_mainloop* media::ServiceImplementation::Private::mainloop ( )
inline

Definition at line 207 of file service_implementation.cpp.

Referenced by create_pulse_context(), and Private().

void media::ServiceImplementation::Private::media_recording_started ( bool  started)
inline

Definition at line 168 of file service_implementation.cpp.

Referenced by media_recording_started_callback().

static void media::ServiceImplementation::Private::media_recording_started_callback ( bool  started,
void *  context 
)
inlinestatic

Definition at line 198 of file service_implementation.cpp.

References media_recording_started().

+ Here is the call graph for this function:

void media::ServiceImplementation::Private::pause_playback_if_necessary ( int  index)
inline

Definition at line 259 of file service_implementation.cpp.

Referenced by set_active_sink(), and update_wired_output().

void media::ServiceImplementation::Private::release_pulse_context ( )
inline

Definition at line 438 of file service_implementation.cpp.

void media::ServiceImplementation::Private::set_active_sink ( const char *  name)
inline

Definition at line 273 of file service_implementation.cpp.

References active_sink, and pause_playback_if_necessary().

Referenced by update_active_sink().

+ Here is the call graph for this function:

void media::ServiceImplementation::Private::update_active_sink ( )
inline

Definition at line 297 of file service_implementation.cpp.

References active_sink, set_active_sink(), and update_wired_output().

Referenced by create_pulse_context().

+ Here is the call graph for this function:

void media::ServiceImplementation::Private::update_wired_output ( )
inline

Definition at line 231 of file service_implementation.cpp.

References active_sink, headphones_connected, is_port_available(), and pause_playback_if_necessary().

Referenced by create_pulse_context(), and update_active_sink().

+ Here is the call graph for this function:

Member Data Documentation

bool media::ServiceImplementation::Private::a2dp_connected

Definition at line 472 of file service_implementation.cpp.

std::tuple<int, int, std::string> media::ServiceImplementation::Private::active_sink
dbus::Bus::Ptr media::ServiceImplementation::Private::bus

Definition at line 454 of file service_implementation.cpp.

std::unique_ptr<CallMonitor> media::ServiceImplementation::Private::call_monitor

Definition at line 480 of file service_implementation.cpp.

int media::ServiceImplementation::Private::disp_cookie

Definition at line 460 of file service_implementation.cpp.

bool media::ServiceImplementation::Private::headphones_connected

Definition at line 471 of file service_implementation.cpp.

Referenced by update_wired_output().

std::shared_ptr<dbus::Object> media::ServiceImplementation::Private::indicator_power_session

Definition at line 457 of file service_implementation.cpp.

boost::asio::io_service media::ServiceImplementation::Private::io_service

Definition at line 455 of file service_implementation.cpp.

std::shared_ptr<core::dbus::Property<core::IndicatorPower::IsWarning> > media::ServiceImplementation::Private::is_warning

Definition at line 459 of file service_implementation.cpp.

boost::asio::io_service::work media::ServiceImplementation::Private::keep_alive

Definition at line 456 of file service_implementation.cpp.

MediaRecorderObserver* media::ServiceImplementation::Private::observer

Definition at line 462 of file service_implementation.cpp.

core::Signal<void> media::ServiceImplementation::Private::pause_playback

Definition at line 479 of file service_implementation.cpp.

std::list<media::Player::PlayerKey> media::ServiceImplementation::Private::paused_sessions

Definition at line 481 of file service_implementation.cpp.

std::condition_variable media::ServiceImplementation::Private::pcv

Definition at line 470 of file service_implementation.cpp.

Referenced by create_pulse_context().

std::shared_ptr<core::dbus::Property<core::IndicatorPower::PowerLevel> > media::ServiceImplementation::Private::power_level

Definition at line 458 of file service_implementation.cpp.

int media::ServiceImplementation::Private::primary_idx

Definition at line 474 of file service_implementation.cpp.

Referenced by create_pulse_context().

pa_context* media::ServiceImplementation::Private::pulse_context

Definition at line 467 of file service_implementation.cpp.

pa_threaded_mainloop* media::ServiceImplementation::Private::pulse_mainloop

Definition at line 466 of file service_implementation.cpp.

pa_mainloop_api* media::ServiceImplementation::Private::pulse_mainloop_api

Definition at line 465 of file service_implementation.cpp.

std::mutex media::ServiceImplementation::Private::pulse_mutex

Definition at line 469 of file service_implementation.cpp.

Referenced by create_pulse_context().

std::thread media::ServiceImplementation::Private::pulse_worker

Definition at line 468 of file service_implementation.cpp.

media::Player::PlayerKey media::ServiceImplementation::Private::resume_key

Definition at line 452 of file service_implementation.cpp.

std::shared_ptr<dbus::Object> media::ServiceImplementation::Private::uscreen_session

Definition at line 461 of file service_implementation.cpp.

std::thread media::ServiceImplementation::Private::worker

Definition at line 453 of file service_implementation.cpp.


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