Stellarium  HEAD
Protected Slots | Protected Member Functions | Protected Attributes | Friends
SyncServerEventSender Class Reference

Subclasses of this class notify clients of state changes. More...

#include <SyncServerEventSenders.hpp>

Protected Slots

virtual void reactToStellariumEvent ()
 This may be used to react to Stellarium application events and queue a broadcast or store the changed state. More...
 
virtual void newClientConnected (SyncRemotePeer &client)
 This is automatically called by the SyncServer whenever a new client connects. More...
 

Protected Member Functions

virtual void update ()
 This is guaranteed to be called once per frame (usually after all other StelModules have been updated). More...
 
void broadcastMessage (const SyncProtocol::SyncMessage &msg)
 Subclasses can call this to broadcast a message to all valid connected clients.
 

Protected Attributes

bool isDirty
 Free to use by subclasses. Recommendation: use to track if update() should broadcast a message.
 
StelCorecore
 Direct access to StelCore.
 

Friends

class SyncServer
 

Detailed Description

Subclasses of this class notify clients of state changes.

Member Function Documentation

◆ newClientConnected

virtual void SyncServerEventSender::newClientConnected ( SyncRemotePeer client)
inlineprotectedvirtualslot

This is automatically called by the SyncServer whenever a new client connects.

Use this to set clients to the current server state. The default implementation does nothing.

Reimplemented in TypedSyncServerEventSender< T >, TypedSyncServerEventSender< SyncProtocol::Location >, TypedSyncServerEventSender< SyncProtocol::View >, TypedSyncServerEventSender< SyncProtocol::Time >, and TypedSyncServerEventSender< SyncProtocol::Selection >.

◆ reactToStellariumEvent

virtual void SyncServerEventSender::reactToStellariumEvent ( )
inlineprotectedvirtualslot

This may be used to react to Stellarium application events and queue a broadcast or store the changed state.

The general idea is to connect this to various signals in the constructor. It is not necessary to use this, but recommended for clarity. The default implementation sets isDirty to true.

◆ update()

virtual void SyncServerEventSender::update ( )
inlineprotectedvirtual

This is guaranteed to be called once per frame (usually after all other StelModules have been updated).

It is can be used to defer state broadcasts until the frame is finished to only send a single message. Default implementation does nothing.

Reimplemented in ViewEventSender, TypedSyncServerEventSender< T >, TypedSyncServerEventSender< SyncProtocol::Location >, TypedSyncServerEventSender< SyncProtocol::View >, TypedSyncServerEventSender< SyncProtocol::Time >, and TypedSyncServerEventSender< SyncProtocol::Selection >.