diff options
| author | Sebastian | 2010-05-12 19:42:27 +0200 |
|---|---|---|
| committer | Sebastian | 2010-05-12 19:42:27 +0200 |
| commit | ce3329047d378a14006ce74ec273ac59e3375303 (patch) | |
| tree | 782430f270b4c7aca1b35d5b7813518e3797c555 /src/core/pvsClient.h | |
| download | pvs-ce3329047d378a14006ce74ec273ac59e3375303.tar.gz pvs-ce3329047d378a14006ce74ec273ac59e3375303.tar.xz pvs-ce3329047d378a14006ce74ec273ac59e3375303.zip | |
initial import of latest svn version
Diffstat (limited to 'src/core/pvsClient.h')
| -rw-r--r-- | src/core/pvsClient.h | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/core/pvsClient.h b/src/core/pvsClient.h new file mode 100644 index 0000000..180995a --- /dev/null +++ b/src/core/pvsClient.h @@ -0,0 +1,129 @@ +/** + * PVSConnection + * + * the representation of a connection from a PVSClient to the PVSServer + * it holds a pointer the PVSClientConnection we got from a PVS(Listen)Server + * and (if present) a pointer to a VNCConnection to the same host as the PVSClientConnection + */ + + + + +#ifndef _PVSCONNECTION_H_ +#define _PVSCONNECTION_H_ +#include "vncConnection.h" +#include "src/net/pvsClientConnection.h" +#include "src/gui/frame.h" +#include <QtCore/QThread> + +class PVSServer; +class VNCConnection; +class PVSClient; +class ConnectionFrame; +class Frame; + +class PVSClient : public QObject +{ + Q_OBJECT + friend class PVSServer; + friend class VNCConnection; + +public: + // C'Tor and D'Tor + PVSClient(PVSClientConnection *newClient); + ~PVSClient(); + + // heartbeat + void tick(); + + + //general stuff + char* getHost(); + QString getIp(); + QString getDesktopName(); + QString getUserName(); + QString getLoginName(); + bool getVNCAllowed(); + int getPort(); + void setUsername(QString name) + { + _userName = name; + }; + void setLoginName(QString ln) + { + _loginName = ln; + }; + + // methods for/from vnConnection + void requestVNCConnect(); + void setVncPassword(QString password); + void setVncRwPassword(QString password); + + QString getPassword(); + QString getRWPassword(); + + void setProject(bool value); + void setAllowed(bool allow); + void setVncPort(int newPort); + void shutDownVNC(); + void shutDownClient(); + /*bool gotFrame(){return _gotFrame;}; + void setFrame(bool gotFrame){_gotFrame = gotFrame;};*/ + ConnectionFrame* getConnectionFrame() + { + return _connectionFrame; + }; + void setConnectionFrame(ConnectionFrame* nFrame) + { + _connectionFrame = nFrame; + }; + void setFrame(Frame *f) + { + _vncFrame = f; + }; + Frame* getFrame() + { + return _vncFrame; + }; + VNCConnection* getVNCConnection() + { + return _vncConnection; + }; + PVSClientConnection* getPVSClientConnection() + { + return _pvsClientConnection; + }; + + // methods for/from PVSClientConnection + void onClientDisconnected(); + bool getLocked(); + bool sendMessage(PVSMsgType type, QString ident, QString message); + bool sendMessage(PVSMsg message); + + void setClientindex(int ind) { _clientIndex = ind; } + int getClientindex() { return _clientIndex; } + int getConnectionId() { return _pvsClientConnection->getID(); } + +private Q_SLOTS: + void vncFinished(); + +private: + + void vncProbe(); + Frame* _vncFrame; + VNCConnection* _vncConnection; + PVSClientConnection *_pvsClientConnection; + ConnectionFrame* _connectionFrame; + int _vncPort; + bool _gotFrame; + QString _hostString; + QString _hostName; + QString _userName; + QString _loginName; + QString _vncPassword; + QString _vncRwPassword; + int _clientIndex; + bool _vncAllowed, _vncRequested, _vncPasswordReceived, _vncRwPasswordReceived, _vncInitMutex, _vncProject; +}; + +#endif |
