]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/archive.h
Move code removing "-psn_xxx" command line arguments to common code.
[wxWidgets.git] / interface / wx / archive.h
index cb2069dc6057b9d10042def7503499b759776014..0b650ae43d410d737c371ddf9aef185c53d0e0fa 100644 (file)
@@ -2,13 +2,11 @@
 // Name:        archive.h
 // Purpose:     interface of wxArchive* classes
 // Author:      wxWidgets team
 // Name:        archive.h
 // Purpose:     interface of wxArchive* classes
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxArchiveInputStream
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxArchiveInputStream
-    @wxheader{archive.h}
 
     This is an abstract base class which serves as a common interface to
     archive input streams such as wxZipInputStream.
 
     This is an abstract base class which serves as a common interface to
     archive input streams such as wxZipInputStream.
@@ -23,7 +21,7 @@
     When there are no more entries, GetNextEntry() returns @NULL and sets Eof().
 
     @library{wxbase}
     When there are no more entries, GetNextEntry() returns @NULL and sets Eof().
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see @ref overview_archive, wxArchiveEntry, wxArchiveOutputStream
 */
 
     @see @ref overview_archive, wxArchiveEntry, wxArchiveOutputStream
 */
@@ -57,7 +55,6 @@ public:
 
 /**
     @class wxArchiveOutputStream
 
 /**
     @class wxArchiveOutputStream
-    @wxheader{archive.h}
 
     This is an abstract base class which serves as a common interface to
     archive output streams such as wxZipOutputStream.
 
     This is an abstract base class which serves as a common interface to
     archive output streams such as wxZipOutputStream.
@@ -67,7 +64,7 @@ public:
     Another call to PutNextEntry() closes the current entry and begins the next.
 
     @library{wxbase}
     Another call to PutNextEntry() closes the current entry and begins the next.
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see @ref overview_archive, wxArchiveEntry, wxArchiveInputStream
 */
 
     @see @ref overview_archive, wxArchiveEntry, wxArchiveInputStream
 */
@@ -158,14 +155,13 @@ public:
 
 /**
     @class wxArchiveEntry
 
 /**
     @class wxArchiveEntry
-    @wxheader{archive.h}
 
     This is an abstract base class which serves as a common interface to
     archive entry classes such as wxZipEntry.
     These hold the meta-data (filename, timestamp, etc.), for entries
     in archive files such as zips and tars.
 
 
     This is an abstract base class which serves as a common interface to
     archive entry classes such as wxZipEntry.
     These hold the meta-data (filename, timestamp, etc.), for entries
     in archive files such as zips and tars.
 
-    @section wxarchiveentry_nonseekable About non-seekable streams
+    @section archiveentry_nonseekable About non-seekable streams
 
     This information applies only when reading archives from non-seekable streams.
     When the stream is seekable GetNextEntry() returns a fully populated wxArchiveEntry.
 
     This information applies only when reading archives from non-seekable streams.
     When the stream is seekable GetNextEntry() returns a fully populated wxArchiveEntry.
@@ -173,7 +169,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
 
     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;
 
     @li GetSize(): guaranteed to be available after the entry has been read to Eof(),
         or CloseEntry() has been called;
@@ -181,7 +177,7 @@ public:
         been reached, i.e. after GetNextEntry() returns NULL and Eof() is true.
 
     @library{wxbase}
         been reached, i.e. after GetNextEntry() returns NULL and Eof() is true.
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see @ref overview_archive, @ref overview_archive_generic,
          wxArchiveInputStream, wxArchiveOutputStream, wxArchiveNotifier
 
     @see @ref overview_archive, @ref overview_archive_generic,
          wxArchiveInputStream, wxArchiveOutputStream, wxArchiveNotifier
@@ -303,20 +299,9 @@ 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
 
 /**
     @class wxArchiveClassFactory
-    @wxheader{archive.h}
 
     Allows the creation of streams to handle archive formats such as zip and tar.
 
 
     Allows the creation of streams to handle archive formats such as zip and tar.
 
@@ -336,7 +321,7 @@ enum wxStreamProtocolType
     wxArchiveClassFactory::GetFirst() and wxArchiveClassFactory::GetNext().
 
     @library{wxbase}
     wxArchiveClassFactory::GetFirst() and wxArchiveClassFactory::GetNext().
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see @ref overview_archive, @ref overview_archive_generic, wxArchiveEntry,
          wxArchiveInputStream, wxArchiveOutputStream, wxFilterClassFactory
 
     @see @ref overview_archive, @ref overview_archive_generic, wxArchiveEntry,
          wxArchiveInputStream, wxArchiveOutputStream, wxFilterClassFactory
@@ -351,7 +336,7 @@ public:
         When using wxSTREAM_FILEEXT for the second parameter, the first parameter
         can be a complete filename rather than just an extension.
     */
         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;
 
     /**
                    wxStreamProtocolType type = wxSTREAM_PROTOCOL) const;
 
     /**
@@ -362,7 +347,7 @@ public:
         When using wxSTREAM_FILEEXT for the second parameter, the first parameter
         can be a complete filename rather than just an extension.
     */
         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);
 
     /**
             wxStreamProtocolType type = wxSTREAM_PROTOCOL);
 
     /**
@@ -370,7 +355,7 @@ public:
         translating meta-data. The initial default, set by the constructor,
         is wxConvLocal.
     */
         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
 
     /**
         Sets the wxMBConv object that the created streams will use when
@@ -388,7 +373,7 @@ public:
         const wxArchiveClassFactory *factory = wxArchiveClassFactory::GetFirst();
 
         while (factory) {
         const wxArchiveClassFactory *factory = wxArchiveClassFactory::GetFirst();
 
         while (factory) {
-            list << factory->GetProtocol() << _T("\n");
+            list << factory->GetProtocol() << wxT("\n");
             factory = factory->GetNext();
         }
         @endcode
             factory = factory->GetNext();
         }
         @endcode
@@ -396,7 +381,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.
     */
         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;
     //@}
 
     const wxArchiveClassFactory* GetNext() const;
     //@}
 
@@ -404,8 +389,8 @@ public:
         Calls the static GetInternalName() function for the archive entry type,
         for example wxZipEntry::GetInternalName.
     */
         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.
 
     /**
         Returns the wxFileSystem protocol supported by this factory.
@@ -425,10 +410,10 @@ public:
         const wxChar *const *p;
 
         for (p = factory->GetProtocols(wxSTREAM_FILEEXT); *p; p++)
         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.
 
     /**
         Create a new wxArchiveEntry object of the appropriate type.
@@ -476,7 +461,6 @@ public:
 
 /**
     @class wxArchiveNotifier
 
 /**
     @class wxArchiveNotifier
-    @wxheader{archive.h}
 
     If you need to know when a wxArchiveInputStream updates a wxArchiveEntry
     object, you can create a notifier by deriving from this abstract base class,
 
     If you need to know when a wxArchiveInputStream updates a wxArchiveEntry
     object, you can create a notifier by deriving from this abstract base class,
@@ -493,7 +477,7 @@ public:
     See @ref overview_archive_noseek.
 
     @library{wxbase}
     See @ref overview_archive_noseek.
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see @ref overview_archive_noseek, wxArchiveEntry, wxArchiveInputStream,
          wxArchiveOutputStream
 
     @see @ref overview_archive_noseek, wxArchiveEntry, wxArchiveInputStream,
          wxArchiveOutputStream
@@ -504,14 +488,13 @@ public:
     /**
         This method must be overridden in your derived class.
     */
     /**
         This method must be overridden in your derived class.
     */
-    void OnEntryUpdated(class wxArchiveEntry& entry);
+    virtual void OnEntryUpdated(wxArchiveEntry& entry) = 0;
 };
 
 
 
 /**
     @class wxArchiveIterator
 };
 
 
 
 /**
     @class wxArchiveIterator
-    @wxheader{archive.h}
 
     An input iterator template class that can be used to transfer an archive's
     catalogue to a container. It is only available if wxUSE_STL is set to 1
 
     An input iterator template class that can be used to transfer an archive's
     catalogue to a container. It is only available if wxUSE_STL is set to 1
@@ -519,7 +502,7 @@ public:
     supports member templates.
 
     @code
     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
     class wxArchiveIterator
     {
         // this constructor creates an 'end of sequence' object
@@ -534,8 +517,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
 
     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:
 
 
     The @c wx/archive.h header defines the following typedefs:
 
@@ -603,7 +586,7 @@ public:
     @endcode
 
     @library{wxbase}
     @endcode
 
     @library{wxbase}
-    @category{archive}
+    @category{archive,streams}
 
     @see wxArchiveEntry, wxArchiveInputStream, wxArchiveOutputStream
 */
 
     @see wxArchiveEntry, wxArchiveInputStream, wxArchiveOutputStream
 */