]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/archive.h
support for iPhone callbacks
[wxWidgets.git] / interface / wx / archive.h
index 88ca8cbf9617df544e96414db311d1fe93fa740b..bc67f60c738d4efaed718ed022726a5507c13e65 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxArchive* classes
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -170,7 +170,7 @@ public:
 
     For generic programming, when the worst case must be assumed, you can rely on
     all the fields of wxArchiveEntry being fully populated when
-    wxArchiveInputStream::GetNextEntry() returns, with the the following exceptions:
+    wxArchiveInputStream::GetNextEntry() returns, with the following exceptions:
 
     @li GetSize(): guaranteed to be available after the entry has been read to Eof(),
         or CloseEntry() has been called;
@@ -300,16 +300,6 @@ public:
 };
 
 
-/**
-    Type of stream enumeration; used by wxArchiveClassFactory methods.
-*/
-enum wxStreamProtocolType
-{
-    wxSTREAM_PROTOCOL,  //!< wxFileSystem protocol (should be only one)
-    wxSTREAM_MIMETYPE,  //!< MIME types the stream handles
-    wxSTREAM_ENCODING,  //!< Not used for archives
-    wxSTREAM_FILEEXT    //!< File extensions the stream handles
-};
 
 /**
     @class wxArchiveClassFactory
@@ -347,7 +337,7 @@ public:
         When using wxSTREAM_FILEEXT for the second parameter, the first parameter
         can be a complete filename rather than just an extension.
     */
-    bool CanHandle(const wxChar* protocol,
+    bool CanHandle(const wxString& protocol,
                    wxStreamProtocolType type = wxSTREAM_PROTOCOL) const;
 
     /**
@@ -358,7 +348,7 @@ public:
         When using wxSTREAM_FILEEXT for the second parameter, the first parameter
         can be a complete filename rather than just an extension.
     */
-    static const wxArchiveClassFactory* Find(const wxChar* protocol,
+    static const wxArchiveClassFactory* Find(const wxString& protocol,
             wxStreamProtocolType type = wxSTREAM_PROTOCOL);
 
     /**
@@ -366,7 +356,7 @@ public:
         translating meta-data. The initial default, set by the constructor,
         is wxConvLocal.
     */
-    wxMBConv GetConv() const;
+    wxMBConv& GetConv() const;
 
     /**
         Sets the wxMBConv object that the created streams will use when
@@ -384,7 +374,7 @@ public:
         const wxArchiveClassFactory *factory = wxArchiveClassFactory::GetFirst();
 
         while (factory) {
-            list << factory->GetProtocol() << _T("\n");
+            list << factory->GetProtocol() << wxT("\n");
             factory = factory->GetNext();
         }
         @endcode
@@ -392,7 +382,7 @@ public:
         GetFirst() and GetNext() return a pointer to a factory or @NULL if no more
         are available. They do not give away ownership of the factory.
     */
-    static const wxArchiveClassFactory* GetFirst() const;
+    static const wxArchiveClassFactory* GetFirst();
     const wxArchiveClassFactory* GetNext() const;
     //@}
 
@@ -400,8 +390,8 @@ public:
         Calls the static GetInternalName() function for the archive entry type,
         for example wxZipEntry::GetInternalName.
     */
-    wxString GetInternalName(const wxString& name,
-                             wxPathFormat format = wxPATH_NATIVE) const;
+    virtual wxString GetInternalName(const wxString& name,
+                                     wxPathFormat format = wxPATH_NATIVE) const = 0;
 
     /**
         Returns the wxFileSystem protocol supported by this factory.
@@ -421,10 +411,10 @@ public:
         const wxChar *const *p;
 
         for (p = factory->GetProtocols(wxSTREAM_FILEEXT); *p; p++)
-            list << *p << _T("\n");
-        @encode
+            list << *p << wxT("\n");
+        @endcode
     */
-    const wxChar* const* GetProtocols(wxStreamProtocolType type = wxSTREAM_PROTOCOL) const;
+    virtual const wxChar** GetProtocols(wxStreamProtocolType type = wxSTREAM_PROTOCOL) const = 0;
 
     /**
         Create a new wxArchiveEntry object of the appropriate type.
@@ -499,7 +489,7 @@ public:
     /**
         This method must be overridden in your derived class.
     */
-    void OnEntryUpdated(class wxArchiveEntry& entry);
+    virtual void OnEntryUpdated(wxArchiveEntry& entry) = 0;
 };
 
 
@@ -513,7 +503,7 @@ public:
     supports member templates.
 
     @code
-    template class Arc, class T = typename Arc::entry_type*
+    template<class Arc, class T = typename Arc::entry_type*>
     class wxArchiveIterator
     {
         // this constructor creates an 'end of sequence' object
@@ -528,8 +518,8 @@ public:
 
     The first template parameter should be the type of archive input stream
     (e.g. wxArchiveInputStream) and the second can either be a pointer to an entry
-    (e.g. wxArchiveEntry*), or a string/pointer pair (e.g. std::pairwxString,
-    wxArchiveEntry*).
+    (e.g. wxArchiveEntry*), or a string/pointer pair
+    (e.g. std::pair<wxString,wxArchiveEntry*>).
 
     The @c wx/archive.h header defines the following typedefs: