/** * 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 #include 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(); } QVector getProcessesVector(); public slots: void processesVectorAdd(QString msg); void clearProcessesVector(); signals: void processVectorReady( bool ); 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; QVector processesVector; }; #endif