Pool Video Switch v2
Software video switch for distributed remote display in a lecture environment
Signals | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Client Class Reference

#include "client.h"

+ Inheritance diagram for Client:
+ Collaboration diagram for Client:

Signals

void authenticating (Client *client, ClientLogin *request)
 
void authenticated (Client *client)
 
void thumbUpdated (Client *client, const QImage &thumb)
 
void vncServerStateChange (Client *client)
 
void vncClientStateChange (Client *client)
 
void stateChanged ()
 
void disconnected ()
 

Public Member Functions

 Client (QTcpSocket *socket)
 
 ~Client () override
 
bool isAuthed () const
 
const QString & name () const
 
const QString & host () const
 
QString ip () const
 
int id () const
 
bool isActiveVncClient () const
 
bool isActiveVncServer () const
 
bool isLocked () const
 
int desiredProjectionSource () const
 
int projectionSource () const
 
int isExamMode () const
 
bool wantsAttention () const
 
void removeAttention ()
 
void setTutor (bool enable)
 
void setDesiredProjectionSource (int id)
 
void setExamMode (bool mode)
 
void startVncServer ()
 
void stopVncServer ()
 
void startVncClient (const Client *to)
 
void stopVncClient ()
 
void lockScreen (bool)
 
void requestThumb (const QSize &size)
 

Protected Member Functions

void timerEvent (QTimerEvent *event) override
 

Private Slots

void onDataArrival ()
 
void disconnect (const char *errmsg)
 

Private Member Functions

bool isManagerMachine () const
 Checks if client and manager runs on same machine. More...
 
void handleMsg ()
 
void sendMessage (NetworkMessage &message)
 
void removeAttentionInternal ()
 

Private Attributes

QTcpSocket *const _socket
 
bool _locked {}
 
int _authed {}
 
QString _name
 
QString _host
 
QByteArray _challenge
 
qint64 _pingTimeout
 
NetworkMessage _fromClient
 
int _timerIdAuthTimeout
 
int _timerPingTimeout
 
int _id
 
QString _vncRwPass
 
QString _vncRoPass
 
int _vncPort {}
 
int _desiredSource
 
int _projectionSource {}
 
bool _isActiveVncClient {}
 
bool _isTutor {}
 
bool _isExamMode {}
 
bool _wantsAttention {}
 
QByteArray _rawRemoteScreen
 

Static Private Attributes

static int _clientIdCounter = 0
 

Detailed Description

Definition at line 23 of file client.h.

Constructor & Destructor Documentation

Client::Client ( QTcpSocket *  socket)
explicit

Definition at line 23 of file client.cpp.

+ Here is the call graph for this function:

Client::~Client ( )
override

Definition at line 65 of file client.cpp.

Member Function Documentation

void Client::authenticated ( Client client)
signal

+ Here is the caller graph for this function:

void Client::authenticating ( Client client,
ClientLogin request 
)
signal

+ Here is the caller graph for this function:

int Client::desiredProjectionSource ( ) const
inline

Definition at line 40 of file client.h.

+ Here is the caller graph for this function:

void Client::disconnect ( const char *  errmsg)
privateslot

Definition at line 335 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::disconnected ( )
signal

+ Here is the caller graph for this function:

void Client::handleMsg ( )
private

Definition at line 147 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const QString& Client::host ( ) const
inline

Definition at line 34 of file client.h.

+ Here is the caller graph for this function:

int Client::id ( ) const
inline

Definition at line 36 of file client.h.

+ Here is the caller graph for this function:

QString Client::ip ( ) const

Definition at line 349 of file client.cpp.

+ Here is the caller graph for this function:

bool Client::isActiveVncClient ( ) const
inline

Definition at line 37 of file client.h.

+ Here is the caller graph for this function:

bool Client::isActiveVncServer ( ) const
inline

Definition at line 38 of file client.h.

+ Here is the caller graph for this function:

bool Client::isAuthed ( ) const
inline

Definition at line 32 of file client.h.

+ Here is the caller graph for this function:

int Client::isExamMode ( ) const
inline

Definition at line 42 of file client.h.

+ Here is the caller graph for this function:

bool Client::isLocked ( ) const
inline

Definition at line 39 of file client.h.

+ Here is the caller graph for this function:

bool Client::isManagerMachine ( ) const
private

Checks if client and manager runs on same machine.

Returns
Return true, if pvsmanager is running on client.

Definition at line 311 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::lockScreen ( bool  lock)

Definition at line 320 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const QString& Client::name ( ) const
inline

Definition at line 33 of file client.h.

+ Here is the caller graph for this function:

void Client::onDataArrival ( )
privateslot

Definition at line 124 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Client::projectionSource ( ) const
inline

Definition at line 41 of file client.h.

+ Here is the caller graph for this function:

void Client::removeAttention ( )
inline

Definition at line 44 of file client.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::removeAttentionInternal ( )
private

Definition at line 101 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::requestThumb ( const QSize &  size)

Definition at line 111 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::sendMessage ( NetworkMessage message)
private

Definition at line 91 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::setDesiredProjectionSource ( int  id)
inline

Definition at line 48 of file client.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::setExamMode ( bool  mode)
inline

Definition at line 49 of file client.h.

+ Here is the caller graph for this function:

void Client::setTutor ( bool  enable)
inline

Definition at line 47 of file client.h.

+ Here is the caller graph for this function:

void Client::startVncClient ( const Client to)

Definition at line 280 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::startVncServer ( )

Definition at line 264 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::stateChanged ( )
signal

+ Here is the caller graph for this function:

void Client::stopVncClient ( )

Definition at line 297 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::stopVncServer ( )

Definition at line 272 of file client.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Client::thumbUpdated ( Client client,
const QImage &  thumb 
)
signal

+ Here is the caller graph for this function:

void Client::timerEvent ( QTimerEvent *  event)
overrideprotected

Definition at line 75 of file client.cpp.

+ Here is the call graph for this function:

void Client::vncClientStateChange ( Client client)
signal

+ Here is the caller graph for this function:

void Client::vncServerStateChange ( Client client)
signal

+ Here is the caller graph for this function:

bool Client::wantsAttention ( ) const
inline

Definition at line 43 of file client.h.

+ Here is the caller graph for this function:

Member Data Documentation

int Client::_authed {}
private

Definition at line 63 of file client.h.

QByteArray Client::_challenge
private

Definition at line 66 of file client.h.

int Client::_clientIdCounter = 0
staticprivate

Definition at line 82 of file client.h.

int Client::_desiredSource
private

Definition at line 73 of file client.h.

NetworkMessage Client::_fromClient
private

Definition at line 68 of file client.h.

QString Client::_host
private

Definition at line 65 of file client.h.

int Client::_id
private

Definition at line 70 of file client.h.

bool Client::_isActiveVncClient {}
private

Definition at line 75 of file client.h.

bool Client::_isExamMode {}
private

Definition at line 77 of file client.h.

bool Client::_isTutor {}
private

Definition at line 76 of file client.h.

bool Client::_locked {}
private

Definition at line 62 of file client.h.

QString Client::_name
private

Definition at line 64 of file client.h.

qint64 Client::_pingTimeout
private

Definition at line 67 of file client.h.

int Client::_projectionSource {}
private

Definition at line 74 of file client.h.

QByteArray Client::_rawRemoteScreen
private

Definition at line 79 of file client.h.

QTcpSocket* const Client::_socket
private

Definition at line 61 of file client.h.

int Client::_timerIdAuthTimeout
private

Definition at line 69 of file client.h.

int Client::_timerPingTimeout
private

Definition at line 69 of file client.h.

int Client::_vncPort {}
private

Definition at line 72 of file client.h.

QString Client::_vncRoPass
private

Definition at line 71 of file client.h.

QString Client::_vncRwPass
private

Definition at line 71 of file client.h.

bool Client::_wantsAttention {}
private

Definition at line 78 of file client.h.


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