Migrating to new directory structure adopted from the RealVNC's source tree. More changes will follow.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@591 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/vncviewer/FileTransfer.h b/win/vncviewer/FileTransfer.h
new file mode 100644
index 0000000..1bfded2
--- /dev/null
+++ b/win/vncviewer/FileTransfer.h
@@ -0,0 +1,136 @@
+/* Copyright (C) 2005 TightVNC Team.  All Rights Reserved.
+ *
+ * Developed by Dennis Syrovatsky
+ *    
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ *
+ * TightVNC distribution homepage on the Web: http://www.tightvnc.com/
+ *
+ */
+
+// -=- FileTransfer.h
+
+#ifndef __RFB_WIN32_FILETRANSFER_H__
+#define __RFB_WIN32_FILETRANSFER_H__
+
+#include <rdr/InStream.h>
+#include <rdr/OutStream.h>
+#include <rfb/msgTypes.h>
+#include <rfb/FileInfo.h>
+#include <rfb/FileReader.h>
+#include <rfb/FileWriter.h>
+#include <rfb/TransferQueue.h>
+#include <rfb/CFTMsgReader.h>
+#include <rfb/CFTMsgWriter.h>
+#include <vncviewer/FTDialog.h>
+
+namespace rfb {
+  namespace win32 {
+    class FTDialog;
+
+    class FileTransfer
+    {
+    public:
+      FileTransfer();
+      ~FileTransfer();
+
+      bool initialize(rdr::InStream *pIS, rdr::OutStream *pOS);
+      bool processFTMsg(int type);
+      bool show(HWND hwndParent);
+
+      void requestFileList(char *pPath, int dest, bool bDirOnly);
+
+      void addTransferQueue(char *pLocalPath, char *pRemotePath, 
+                            FileInfo *pFI, unsigned int flags);
+      void addDeleteQueue(char *pPathPrefix, FileInfo *pFI, 
+                          unsigned int flags);
+
+      bool isTransferEnable();
+
+      void checkTransferQueue();
+      void checkDeleteQueue();
+      bool checkCancelOperations();
+
+      void uploadFilePortion();
+
+      void createRemoteFolder(char *pPath, char *pName);
+      void renameRemote(char *pPath, char *pOldName, char *pNewName);
+
+      bool m_bCancel;
+
+    private:
+      bool m_bFTDlgShown;
+      bool m_bInitialized;
+      bool m_bResized;
+      bool m_bTransferSuccess;
+      bool m_bOverwriteAll;
+
+      FTDialog *m_pFTDialog;
+
+      rfb::CFTMsgReader *m_pReader;
+      rfb::CFTMsgWriter *m_pWriter;
+
+      FileReader m_fileReader;
+      FileWriter m_fileWriter;
+
+      FileInfo m_queueFileListRqst;
+
+      TransferQueue m_TransferQueue;
+      TransferQueue m_DeleteQueue;
+
+      bool resizeSending();
+      bool uploadFile();
+      bool downloadFile();
+
+      int  isExistName(FileInfo *pFI, char *pName);
+      void freeQueues();
+
+      void endUndoneOperation();
+      
+      bool procFileListDataMsg();
+      bool procFileDownloadDataMsg();
+      bool procFileUploadCancelMsg();
+      bool procFileDownloadFailedMsg();
+      bool procFileDirSizeDataMsg();
+      bool procFileLastRqstFailedMsg();
+      
+      bool procFLRMain(FileInfo *pFI);
+      bool procFLRBrowse(FileInfo *pFI);
+      bool procFLRUpload(FileInfo *pFI);
+      bool procFLRDownload(FileInfo *pFI);
+      bool procFLRDelete(FileInfo *pFI);
+      bool procFLRRename(FileInfo *pFI);
+
+      int convertToUnixPath(char *path);
+
+      bool writeFileListRqst(unsigned short dirnameLen, char *pDirName, bool bDirOnly);
+      bool writeFileDownloadRqst(unsigned short filenameLen, char *pFilename, 
+                                 unsigned int position);
+      bool writeFileUploadRqst(unsigned short filenameLen, char *pFilename, 
+                               unsigned int position);
+      bool writeFileCreateDirRqst(unsigned short dirNameLen, char *pDirName);
+      bool writeFileDirSizeRqst(unsigned short dirNameLen, char *pDirName);
+      bool writeFileRenameRqst(unsigned short oldNameLen, unsigned short newNameLen,
+                               char *pOldName, char *pNewName);
+      bool writeFileDeleteRqst(unsigned short nameLen, char *pName);
+
+      DWORD64 m_dw64SizeSending;
+      unsigned int m_dirSizeRqstNum;
+    };
+  }
+}
+
+#endif // __RFB_WIN32_FILETRANSFER_H__