Move access rights and closing to SConnection object
This makes it generally useful and other code doesn't have to
know of the specific sub-class.
diff --git a/common/rfb/VNCSConnectionST.h b/common/rfb/VNCSConnectionST.h
index faa0479..121ebcc 100644
--- a/common/rfb/VNCSConnectionST.h
+++ b/common/rfb/VNCSConnectionST.h
@@ -43,6 +43,11 @@
VNCSConnectionST(VNCServerST* server_, network::Socket* s, bool reverse);
virtual ~VNCSConnectionST();
+ // SConnection methods
+
+ virtual bool accessCheck(AccessRights ar) const;
+ virtual void close(const char* reason);
+
// Methods called from VNCServerST. None of these methods ever knowingly
// throw an exception.
@@ -54,10 +59,6 @@
// returns false, and close() will have been called.
bool init();
- // close() shuts down the socket to the client and deletes the
- // SConnectionST object.
- void close(const char* reason);
-
// processMessages() processes incoming messages from the client, invoking
// various callbacks as a result. It continues to process messages until
// reading might block. shutdown() will be called on the connection's
@@ -141,12 +142,6 @@
virtual void supportsContinuousUpdates();
virtual void supportsLEDState();
- // setAccessRights() allows a security package to limit the access rights
- // of a VNCSConnectioST to the server. These access rights are applied
- // such that the actual rights granted are the minimum of the server's
- // default access settings and the connection's access settings.
- virtual void setAccessRights(AccessRights ar) {accessRights=ar;}
-
// Timer callbacks
virtual bool handleTimeout(Timer* t);
@@ -202,8 +197,6 @@
Point pointerEventPos;
bool clientHasCursor;
- AccessRights accessRights;
-
CharArray closeReason;
time_t startTime;
};