/**
@class wxArchiveInputStream
- @wxheader{archive.h}
This is an abstract base class which serves as a common interface to
archive input streams such as wxZipInputStream.
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
*/
/**
@class wxArchiveOutputStream
- @wxheader{archive.h}
This is an abstract base class which serves as a common interface to
archive output streams such as wxZipOutputStream.
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
*/
/**
@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.
- @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.
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
/**
@class wxArchiveClassFactory
- @wxheader{archive.h}
Allows the creation of streams to handle archive formats such as zip and tar.
wxArchiveClassFactory::GetFirst() and wxArchiveClassFactory::GetNext().
@library{wxbase}
- @category{archive}
+ @category{archive,streams}
@see @ref overview_archive, @ref overview_archive_generic, wxArchiveEntry,
wxArchiveInputStream, wxArchiveOutputStream, wxFilterClassFactory
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;
/**
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);
/**
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
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;
//@}
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.
for (p = factory->GetProtocols(wxSTREAM_FILEEXT); *p; p++)
list << *p << _T("\n");
- @encode
+ @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.
/**
@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,
See @ref overview_archive_noseek.
@library{wxbase}
- @category{archive}
+ @category{archive,streams}
@see @ref overview_archive_noseek, wxArchiveEntry, wxArchiveInputStream,
wxArchiveOutputStream
/**
This method must be overridden in your derived class.
*/
- void OnEntryUpdated(class wxArchiveEntry& entry);
+ virtual void OnEntryUpdated(wxArchiveEntry& entry) = 0;
};
/**
@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
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
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:
@endcode
@library{wxbase}
- @category{archive}
+ @category{archive,streams}
@see wxArchiveEntry, wxArchiveInputStream, wxArchiveOutputStream
*/