Initial implementation of continuous updates in the server code. This code does not handle framebuffer size changes properly yet. Also, the server does not send the client EndOfContinuousUpdates message yet (documented in doc/rfbproto.tex).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2251 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx
index 9e47900..bede90e 100644
--- a/common/rfb/SConnection.cxx
+++ b/common/rfb/SConnection.cxx
@@ -19,6 +19,7 @@
#include <string.h>
#include <rfb/Exception.h>
#include <rfb/secTypes.h>
+#include <rfb/msgTypes.h>
#include <rfb/CapsList.h>
#include <rfb/SMsgReaderV3.h>
#include <rfb/SMsgWriterV3.h>
@@ -422,14 +423,50 @@
// FIXME: Move sendInteractionCaps() to a class derived from SMsgWriterV3?
void SConnection::sendInteractionCaps()
{
+ //
// Advertise support for non-standard server-to-client messages
- // (this version has nothing to advertise).
+ //
+
CapsList scaps;
+ // File transfer:
+ /* FIXME: File transfers are not finished yet:
+ scaps.addTightExt(msgTypeFileListData, "FTS_LSDT");
+ scaps.addTightExt(msgTypeFileDownloadData, "FTS_DNDT");
+ scaps.addTightExt(msgTypeFileUploadCancel, "FTS_UPCN");
+ scaps.addTightExt(msgTypeFileDownloadFailed, "FTS_DNFL");
+ scaps.addTightExt(msgTypeFileDirSizeData, "FTS_DSDT");
+ scaps.addTightExt(msgTypeFileLastRequestFailed, "FTS_RQFL");
+ */
+
+ // Continuous updates:
+ /* FIXME: EndOfContinuousUpdates message is not supported yet:
+ scaps.addTightExt(msgTypeEndOfContinuousUpdates, "CUS_EOCU");
+ */
+
+ //
// Advertise support for non-standard client-to-server messages
- // (this version has nothing to advertise).
+ //
+
CapsList ccaps;
+ // File transfer:
+ /* FIXME: File transfers are not finished yet:
+ ccaps.addTightExt(msgTypeFileListRequest, "FTC_LSRQ");
+ ccaps.addTightExt(msgTypeFileDownloadRequest, "FTC_DNRQ");
+ ccaps.addTightExt(msgTypeFileUploadRequest, "FTC_UPRQ");
+ ccaps.addTightExt(msgTypeFileUploadRequest, "FTC_UPDT");
+ ccaps.addTightExt(msgTypeFileDownloadCancel, "FTC_DNCN");
+ ccaps.addTightExt(msgTypeFileUploadFailed, "FTC_UPFL");
+ ccaps.addTightExt(msgTypeFileCreateDirRequest, "FTC_FCDR");
+ ccaps.addTightExt(msgTypeFileDirSizeRequest, "FTC_DSRQ");
+ ccaps.addTightExt(msgTypeFileRenameRequest, "FTC_RNRQ");
+ ccaps.addTightExt(msgTypeFileDeleteRequest, "FTC_RMRQ");
+ */
+
+ // Continuous updates:
+ ccaps.addTightExt(msgTypeEnableContinuousUpdates, "CUC_ENCU");
+
// Advertise all supported encoding types (except raw encoding).
CapsList ecaps;