Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::webrtc_streaming::LightsObserver Class Reference

#include <lights_observer.h>

Collaboration diagram for cuttlefish::webrtc_streaming::LightsObserver:
Collaboration graph
[legend]

Public Member Functions

 LightsObserver (unsigned int port, unsigned int cid, bool vhost_user_vsock)
 
 ~LightsObserver ()
 
 LightsObserver (const LightsObserver &other)=delete
 
LightsObserveroperator= (const LightsObserver &other)=delete
 
bool Start ()
 
int Subscribe (std::function< bool(const Json::Value &)> lights_message_sender)
 
void Unsubscribe (int lights_message_sender_id)
 

Private Member Functions

void Stop ()
 
void ReadServerMessages ()
 

Private Attributes

VsockClientConnection cvd_connection_
 
unsigned int cid_
 
unsigned int port_
 
bool vhost_user_vsock_
 
std::thread connection_thread_
 
std::atomic< bool > is_running_
 
std::atomic< bool > session_active_
 
std::unordered_map< unsigned int, Lightlights_state_
 
std::mutex clients_lock_
 
Json::Value cached_latest_update_
 
std::unordered_map< int, std::function< bool(const Json::Value &)> > client_message_senders_
 
int last_client_channel_id_
 

Constructor & Destructor Documentation

◆ LightsObserver() [1/2]

cuttlefish::webrtc_streaming::LightsObserver::LightsObserver ( unsigned int  port,
unsigned int  cid,
bool  vhost_user_vsock 
)

◆ ~LightsObserver()

cuttlefish::webrtc_streaming::LightsObserver::~LightsObserver ( )

◆ LightsObserver() [2/2]

cuttlefish::webrtc_streaming::LightsObserver::LightsObserver ( const LightsObserver other)
delete

Member Function Documentation

◆ operator=()

LightsObserver & cuttlefish::webrtc_streaming::LightsObserver::operator= ( const LightsObserver other)
delete

◆ ReadServerMessages()

void cuttlefish::webrtc_streaming::LightsObserver::ReadServerMessages ( )
private

◆ Start()

bool cuttlefish::webrtc_streaming::LightsObserver::Start ( )

◆ Stop()

void cuttlefish::webrtc_streaming::LightsObserver::Stop ( )
private

◆ Subscribe()

int cuttlefish::webrtc_streaming::LightsObserver::Subscribe ( std::function< bool(const Json::Value &)>  lights_message_sender)

◆ Unsubscribe()

void cuttlefish::webrtc_streaming::LightsObserver::Unsubscribe ( int  lights_message_sender_id)

Member Data Documentation

◆ cached_latest_update_

Json::Value cuttlefish::webrtc_streaming::LightsObserver::cached_latest_update_
private

◆ cid_

unsigned int cuttlefish::webrtc_streaming::LightsObserver::cid_
private

◆ client_message_senders_

std::unordered_map<int, std::function<bool(const Json::Value&)> > cuttlefish::webrtc_streaming::LightsObserver::client_message_senders_
private

◆ clients_lock_

std::mutex cuttlefish::webrtc_streaming::LightsObserver::clients_lock_
private

◆ connection_thread_

std::thread cuttlefish::webrtc_streaming::LightsObserver::connection_thread_
private

◆ cvd_connection_

VsockClientConnection cuttlefish::webrtc_streaming::LightsObserver::cvd_connection_
private

◆ is_running_

std::atomic<bool> cuttlefish::webrtc_streaming::LightsObserver::is_running_
private

◆ last_client_channel_id_

int cuttlefish::webrtc_streaming::LightsObserver::last_client_channel_id_
private

◆ lights_state_

std::unordered_map<unsigned int, Light> cuttlefish::webrtc_streaming::LightsObserver::lights_state_
private

◆ port_

unsigned int cuttlefish::webrtc_streaming::LightsObserver::port_
private

◆ session_active_

std::atomic<bool> cuttlefish::webrtc_streaming::LightsObserver::session_active_
private

◆ vhost_user_vsock_

bool cuttlefish::webrtc_streaming::LightsObserver::vhost_user_vsock_
private

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