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

Public Member Functions

 Private (const QString &sink, const QStringList &outputPortPatterns, Reporter::Ptr reporter, PulseAudioOutputObserver *q)
 
void setOutputState (std::tuple< QRegularExpression, audio::OutputState > &element, audio::OutputState state)
 
void on_context_ready ()
 
void on_context_failed ()
 
void on_sink_event_with_index (std::int32_t index)
 
void on_query_for_active_sink_finished (const pa_sink_info *info)
 
void on_query_for_primary_sink_finished (const pa_sink_info *info)
 
void on_query_for_server_info_finished (const pa_server_info *info)
 

Static Public Member Functions

static void context_notification_cb (pa_context *ctxt, void *cookie)
 
static void context_subscription_cb (pa_context *ctxt, pa_subscription_event_type_t ev, uint32_t idx, void *cookie)
 
static void query_for_active_sink_finished (pa_context *ctxt, const pa_sink_info *si, int eol, void *cookie)
 
static void query_for_primary_sink_finished (pa_context *ctxt, const pa_sink_info *si, int eol, void *cookie)
 
static void query_for_server_info_finished (pa_context *ctxt, const pa_server_info *si, void *cookie)
 

Public Attributes

pa::MainLoopPtr main_loop
 
pa::ContextPtr context
 
std::int32_t primary_sink_index
 
std::tuple< uint32_t, std::string > active_sink
 
std::vector< std::tuple< QRegularExpression, audio::OutputState > > outputs
 
QString m_sink
 
QString m_requestedSink
 
Reporter::Ptr m_reporter
 
std::set< audio::PulseAudioOutputObserver::Reporter::Port > m_knownPorts
 
PulseAudioOutputObserverq
 

Detailed Description

Definition at line 137 of file pulse_audio_output_observer.cpp.

Constructor & Destructor Documentation

◆ Private()

audio::PulseAudioOutputObserver::Private::Private ( const QString &  sink,
const QStringList &  outputPortPatterns,
Reporter::Ptr  reporter,
PulseAudioOutputObserver q 
)
inline

Definition at line 226 of file pulse_audio_output_observer.cpp.

Member Function Documentation

◆ context_notification_cb()

static void audio::PulseAudioOutputObserver::Private::context_notification_cb ( pa_context *  ctxt,
void *  cookie 
)
inlinestatic

Definition at line 139 of file pulse_audio_output_observer.cpp.

◆ context_subscription_cb()

static void audio::PulseAudioOutputObserver::Private::context_subscription_cb ( pa_context *  ctxt,
pa_subscription_event_type_t  ev,
uint32_t  idx,
void *  cookie 
)
inlinestatic

Definition at line 162 of file pulse_audio_output_observer.cpp.

◆ on_context_failed()

void audio::PulseAudioOutputObserver::Private::on_context_failed ( )
inline

Definition at line 283 of file pulse_audio_output_observer.cpp.

References context.

◆ on_context_ready()

void audio::PulseAudioOutputObserver::Private::on_context_ready ( )
inline

Definition at line 261 of file pulse_audio_output_observer.cpp.

References context, m_reporter, m_requestedSink, query_for_primary_sink_finished(), and query_for_server_info_finished().

+ Here is the call graph for this function:

◆ on_query_for_active_sink_finished()

void audio::PulseAudioOutputObserver::Private::on_query_for_active_sink_finished ( const pa_sink_info *  info)
inline

Definition at line 298 of file pulse_audio_output_observer.cpp.

References active_sink, outputs, primary_sink_index, and setOutputState().

+ Here is the call graph for this function:

◆ on_query_for_primary_sink_finished()

void audio::PulseAudioOutputObserver::Private::on_query_for_primary_sink_finished ( const pa_sink_info *  info)
inline

Definition at line 312 of file pulse_audio_output_observer.cpp.

References active_sink, m_knownPorts, m_reporter, MH_INFO, outputs, primary_sink_index, and setOutputState().

+ Here is the call graph for this function:

◆ on_query_for_server_info_finished()

void audio::PulseAudioOutputObserver::Private::on_query_for_server_info_finished ( const pa_server_info *  info)
inline

◆ on_sink_event_with_index()

void audio::PulseAudioOutputObserver::Private::on_sink_event_with_index ( std::int32_t  index)
inline

Definition at line 289 of file pulse_audio_output_observer.cpp.

References context, m_reporter, and query_for_server_info_finished().

+ Here is the call graph for this function:

◆ query_for_active_sink_finished()

static void audio::PulseAudioOutputObserver::Private::query_for_active_sink_finished ( pa_context *  ctxt,
const pa_sink_info *  si,
int  eol,
void *  cookie 
)
inlinestatic

Definition at line 178 of file pulse_audio_output_observer.cpp.

Referenced by on_query_for_server_info_finished().

◆ query_for_primary_sink_finished()

static void audio::PulseAudioOutputObserver::Private::query_for_primary_sink_finished ( pa_context *  ctxt,
const pa_sink_info *  si,
int  eol,
void *  cookie 
)
inlinestatic

◆ query_for_server_info_finished()

static void audio::PulseAudioOutputObserver::Private::query_for_server_info_finished ( pa_context *  ctxt,
const pa_server_info *  si,
void *  cookie 
)
inlinestatic

Definition at line 210 of file pulse_audio_output_observer.cpp.

Referenced by on_context_ready(), and on_sink_event_with_index().

◆ setOutputState()

void audio::PulseAudioOutputObserver::Private::setOutputState ( std::tuple< QRegularExpression, audio::OutputState > &  element,
audio::OutputState  state 
)
inline

Member Data Documentation

◆ active_sink

std::tuple<uint32_t, std::string> audio::PulseAudioOutputObserver::Private::active_sink

◆ context

pa::ContextPtr audio::PulseAudioOutputObserver::Private::context

◆ m_knownPorts

std::set<audio::PulseAudioOutputObserver::Reporter::Port> audio::PulseAudioOutputObserver::Private::m_knownPorts

Definition at line 398 of file pulse_audio_output_observer.cpp.

Referenced by on_query_for_primary_sink_finished().

◆ m_reporter

Reporter::Ptr audio::PulseAudioOutputObserver::Private::m_reporter

◆ m_requestedSink

QString audio::PulseAudioOutputObserver::Private::m_requestedSink

◆ m_sink

QString audio::PulseAudioOutputObserver::Private::m_sink

Definition at line 395 of file pulse_audio_output_observer.cpp.

Referenced by on_query_for_server_info_finished().

◆ main_loop

pa::MainLoopPtr audio::PulseAudioOutputObserver::Private::main_loop

Definition at line 389 of file pulse_audio_output_observer.cpp.

◆ outputs

std::vector<std::tuple<QRegularExpression, audio::OutputState> > audio::PulseAudioOutputObserver::Private::outputs

◆ primary_sink_index

std::int32_t audio::PulseAudioOutputObserver::Private::primary_sink_index

◆ q

PulseAudioOutputObserver* audio::PulseAudioOutputObserver::Private::q

Definition at line 399 of file pulse_audio_output_observer.cpp.

Referenced by setOutputState().


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