]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/protocol/ftp.h
A little different fix for how to delay the call to __wxCleanup
[wxWidgets.git] / include / wx / protocol / ftp.h
index b9194c7db180e9defc1f40a187d58ddbd9069c91..ae7391d45ef11f8a586b756def060de5b4e04e53 100644 (file)
 #define __WX_FTP_H__
 
 #ifdef __GNUG__
-#pragma interface
+    #pragma interface "ftp.h"
 #endif
 
-#include "wx/object.h"
+#include "wx/defs.h"
+
+#if wxUSE_PROTOCOL_FTP
+
 #include "wx/sckaddr.h"
 #include "wx/protocol/protocol.h"
 #include "wx/url.h"
@@ -27,6 +30,7 @@ class WXDLLEXPORT wxFTP : public wxProtocol
 public:
     enum TransferMode
     {
+        NONE,       // not set by user explicitly
         ASCII,
         BINARY
     };
@@ -77,6 +81,16 @@ public:
     bool Rename(const wxString& src, const wxString& dst);
     bool RmFile(const wxString& path);
 
+    // Get the size of a file in the current dir.
+    // this function tries its best to deliver the size in bytes using BINARY
+    // (the SIZE command reports different sizes depending on whether 
+    // type is set to ASCII or BINARY)
+    // returns -1 if file is non-existant or size could not be found
+    int GetFileSize(const wxString& fileName);
+
+       // Check to see if a file exists in the current dir
+    bool FileExists(const wxString& fileName);
+
     // Download methods
     bool Abort();
 
@@ -106,7 +120,7 @@ public:
                  const wxString& wildcard = wxEmptyString,
                  bool details = FALSE);
 
-#ifdef WXWIN_COMPATIBILITY_2
+#if WXWIN_COMPATIBILITY_2
     // deprecated
     wxList *GetList(const wxString& wildcard, bool details = FALSE);
 #endif // WXWIN_COMPATIBILITY_2
@@ -135,8 +149,9 @@ protected:
     // true if there is an FTP transfer going on
     bool m_streaming;
 
-    // true if the user had set the transfer mode
-    bool m_modeSet;
+    // although this should be set to ASCII by default according to STD9,
+    // we will use BINARY transfer mode by default for backwards compatibility
+    TransferMode m_currentTransfermode;
 
     friend class wxInputFTPStream;
     friend class wxOutputFTPStream;
@@ -145,4 +160,10 @@ protected:
     DECLARE_PROTOCOL(wxFTP)
 };
 
+// the trace mask used by assorted wxLogTrace() in ftp code, do
+// wxLog::AddTraceMask(FTP_TRACE_MASK) to see them in output
+#define FTP_TRACE_MASK _T("ftp")
+
+#endif // wxUSE_PROTOCOL_FTP
+
 #endif // __WX_FTP_H__