]> source.dussan.org Git - tigervnc.git/commitdiff
Added code for all methods of the SFTMsgWriter class
authorDennis Syrovatsky <dennis@tightvnc.com>
Sun, 18 Dec 2005 14:49:59 +0000 (14:49 +0000)
committerDennis Syrovatsky <dennis@tightvnc.com>
Sun, 18 Dec 2005 14:49:59 +0000 (14:49 +0000)
besides writeFileListDataMsg() method.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@463 3789f03b-4d11-0410-bbf8-ca57d06f2519

rfb/SFTMsgWriter.cxx
rfb/SFTMsgWriter.h

index e74775e19e05b5869075aaab445325736548b739..4ea85a8cf107e36698da69cc11e5ff40f3b48872 100644 (file)
@@ -43,32 +43,51 @@ SFTMsgWriter::writeFileListData(unsigned char flags, rfb::FileInfo *pFileInfo)
 bool 
 SFTMsgWriter::writeFileDownloadData(unsigned int dataSize, void *pData)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileDownloadData);
+  m_pOS->writeU8(0);
+  m_pOS->writeU16(dataSize);
+  m_pOS->writeU16(dataSize);
+  m_pOS->writeBytes(pData, dataSize);
+  m_pOS->flush();
+  return true;
 }
 
 bool 
 SFTMsgWriter::writeFileDownloadData(unsigned int modTime)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileDownloadData);
+  m_pOS->writeU8(0);
+  m_pOS->writeU16(0);
+  m_pOS->writeU16(0);
+  m_pOS->writeU32(modTime);
+  m_pOS->flush();
+  return true;
 }
 
 bool
 SFTMsgWriter::writeFileUploadCancel(unsigned int reasonLen, char *pReason)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileUploadCancel);
+  return writeU8U16StringMsg(0, reasonLen, pReason);
 }
 
 bool 
 SFTMsgWriter::writeFileDownloadFailed(unsigned int reasonLen, char *pReason)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileDownloadFailed);
+  return writeU8U16StringMsg(0, reasonLen, pReason);
 }
 
 bool 
 SFTMsgWriter::writeFileDirSizeData(unsigned int dirSizeLow, 
                                    unsigned short dirSizeHigh)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileDirSizeData);
+  m_pOS->writeU8(0);
+  m_pOS->writeU16(dirSizeHigh);
+  m_pOS->writeU32(dirSizeLow);
+  m_pOS->flush();
+  return true;
 }
 
 bool 
@@ -76,11 +95,16 @@ SFTMsgWriter::writeFileLastRqstFailed(unsigned char lastRequest,
                                       unsigned short reasonLen,
                                       char *pReason)
 {
-  return false;
+  m_pOS->writeU8(msgTypeFileLastRequestFailed);
+  return writeU8U16StringMsg(lastRequest, reasonLen, pReason);
 }
 
 bool
 SFTMsgWriter::writeU8U16StringMsg(unsigned char p1, unsigned short p2, char *pP3)
 {
-  return false;
+  m_pOS->writeU8(p1);
+  m_pOS->writeU16(p2);
+  m_pOS->writeBytes(pP3, p2);
+  m_pOS->flush();
+  return true;
 }
index ba5bf1c97d489d3c4f19919289607ee48571e620..dcf2e2d5809c46fb9821c9d6422f688dc9b08749 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <rdr/OutStream.h>
 #include <rfb/FileInfo.h>
+#include <rfb/msgTypes.h>
 
 namespace rfb {
   class SFTMsgWriter