23#include <unordered_map>
28namespace webrtc_streaming {
51 LightsObserver(
unsigned int port,
unsigned int cid,
bool vhost_user_vsock);
58 int Subscribe(std::function<
bool(
const Json::Value&)> lights_message_sender);
76 std::unordered_map<int, std::function<bool(
const Json::Value&)>>
Definition: vsock_connection.h:72
Definition: lights_observer.h:49
LightsObserver & operator=(const LightsObserver &other)=delete
void ReadServerMessages()
Definition: lights_observer.cpp:81
void Unsubscribe(int lights_message_sender_id)
Definition: lights_observer.cpp:122
std::thread connection_thread_
Definition: lights_observer.h:69
int last_client_channel_id_
Definition: lights_observer.h:78
unsigned int cid_
Definition: lights_observer.h:66
LightsObserver(const LightsObserver &other)=delete
VsockClientConnection cvd_connection_
Definition: lights_observer.h:65
std::atomic< bool > session_active_
Definition: lights_observer.h:71
void Stop()
Definition: lights_observer.cpp:71
int Subscribe(std::function< bool(const Json::Value &)> lights_message_sender)
Definition: lights_observer.cpp:106
std::mutex clients_lock_
Definition: lights_observer.h:74
LightsObserver(unsigned int port, unsigned int cid, bool vhost_user_vsock)
Definition: lights_observer.cpp:27
std::unordered_map< int, std::function< bool(const Json::Value &)> > client_message_senders_
Definition: lights_observer.h:77
Json::Value cached_latest_update_
Definition: lights_observer.h:75
std::atomic< bool > is_running_
Definition: lights_observer.h:70
~LightsObserver()
Definition: lights_observer.cpp:36
bool Start()
Definition: lights_observer.cpp:38
bool vhost_user_vsock_
Definition: lights_observer.h:68
unsigned int port_
Definition: lights_observer.h:67
std::unordered_map< unsigned int, Light > lights_state_
Definition: lights_observer.h:72
Definition: alloc_utils.cpp:23
Definition: lights_observer.h:30
unsigned int color
Definition: lights_observer.h:45
Type light_type
Definition: lights_observer.h:46
unsigned int id
Definition: lights_observer.h:44
Type
Definition: lights_observer.h:31