#include </home/Hamish/wxwidgets/wxWidgets3.0-3.0.5.1-1.x86_64/src/wxWidgets-3.0.5.1/interface/wx/stream.h>
Allows the creation of filter streams to handle compression formats such as gzip and bzip2.
For example, given a filename you can search for a factory that will handle it and create a stream to decompress it:
wxFilterClassFactory::Find can also search for a factory by MIME type, HTTP encoding or by wxFileSystem protocol. The available factories can be enumerated using wxFilterClassFactory::GetFirst() and wxFilterClassFactory::GetNext().
<>< =''>:</>&;&;< =''>\ </></>
Public Member Functions | |
bool | CanHandle (const wxString &protocol, wxStreamProtocolType type=wxSTREAM_PROTOCOL) const |
Returns true if this factory can handle the given protocol, MIME type, HTTP encoding or file extension. More... | |
const wxFilterClassFactory * | GetNext () const |
wxString | GetProtocol () const |
Returns the wxFileSystem protocol supported by this factory. More... | |
virtual const wxChar *const * | GetProtocols (wxStreamProtocolType type=wxSTREAM_PROTOCOL) const =0 |
Returns the protocols, MIME types, HTTP encodings or file extensions supported by this factory, as an array of null terminated strings. More... | |
virtual wxFilterInputStream * | NewStream (wxInputStream &stream) const =0 |
Create a new input or output stream to decompress or compress a given stream. More... | |
virtual wxFilterOutputStream * | NewStream (wxOutputStream &stream) const =0 |
virtual wxFilterInputStream * | NewStream (wxInputStream *stream) const =0 |
virtual wxFilterOutputStream * | NewStream (wxOutputStream *stream) const =0 |
wxString | PopExtension (const wxString &location) const |
Remove the file extension of location if it is one of the file extensions handled by this factory. More... | |
void | PushFront () |
Adds this class factory to the list returned by GetFirst()/GetNext(). More... | |
void | Remove () |
Removes this class factory from the list returned by GetFirst()/GetNext(). More... | |
![]() | |
wxObject () | |
Default ctor; initializes to NULL the internal reference data. More... | |
wxObject (const wxObject &other) | |
Copy ctor. More... | |
virtual | ~wxObject () |
Destructor. More... | |
virtual wxClassInfo * | GetClassInfo () const |
This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More... | |
wxObjectRefData * | GetRefData () const |
Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More... | |
bool | IsKindOf (const wxClassInfo *info) const |
Determines whether this class is a subclass of (or the same class as) the given class. More... | |
bool | IsSameAs (const wxObject &obj) const |
Returns true if this object has the same data pointer as obj. More... | |
void | Ref (const wxObject &clone) |
Makes this object refer to the data in clone. More... | |
void | SetRefData (wxObjectRefData *data) |
Sets the wxObject::m_refData pointer. More... | |
void | UnRef () |
Decrements the reference count in the associated data, and if it is zero, deletes the data. More... | |
void | UnShare () |
This is the same of AllocExclusive() but this method is public. More... | |
void | operator delete (void *buf) |
The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. More... | |
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0) |
The new operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. More... | |
Static Public Member Functions | |
static const wxFilterClassFactory * | Find (const wxString &protocol, wxStreamProtocolType type=wxSTREAM_PROTOCOL) |
A static member that finds a factory that can handle a given protocol, MIME type, HTTP encoding or file extension. More... | |
static const wxFilterClassFactory * | GetFirst () |
GetFirst and GetNext can be used to enumerate the available factories. More... | |
Additional Inherited Members | |
![]() | |
void | AllocExclusive () |
Ensure that this object's data is not shared with any other object. More... | |
virtual wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More... | |
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More... | |
![]() | |
wxObjectRefData * | m_refData |
Pointer to an object which is the object's reference-counted data. More... | |
bool wxFilterClassFactory::CanHandle | ( | const wxString & | protocol, |
wxStreamProtocolType | type = wxSTREAM_PROTOCOL |
||
) | const |
Returns true if this factory can handle the given protocol, MIME type, HTTP encoding or file extension.
When using wxSTREAM_FILEEXT
for the second parameter, the first parameter can be a complete filename rather than just an extension.
|
static |
A static member that finds a factory that can handle a given protocol, MIME type, HTTP encoding or file extension.
Returns a pointer to the class factory if found, or NULL otherwise. It does not give away ownership of the factory.
When using wxSTREAM_FILEEXT
for the second parameter, the first parameter can be a complete filename rather than just an extension.
|
static |
GetFirst and GetNext can be used to enumerate the available factories.
For example, to list them:
GetFirst()/GetNext() return a pointer to a factory or NULL if no more are available. They do not give away ownership of the factory.
const wxFilterClassFactory* wxFilterClassFactory::GetNext | ( | ) | const |
wxString wxFilterClassFactory::GetProtocol | ( | ) | const |
Returns the wxFileSystem protocol supported by this factory.
Equivalent to
.
|
pure virtual |
|
pure virtual |
Create a new input or output stream to decompress or compress a given stream.
If the parent stream is passed as a pointer then the new filter stream takes ownership of it. If it is passed by reference then it does not.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Remove the file extension of location if it is one of the file extensions handled by this factory.
void wxFilterClassFactory::PushFront | ( | ) |
Adds this class factory to the list returned by GetFirst()/GetNext().
It is not necessary to do this to use the filter streams. It is usually used when implementing streams, typically the implementation will add a static instance of its factory class.
It can also be used to change the order of a factory already in the list, bringing it to the front. This isn't a thread safe operation so can't be done when other threads are running that will be using the list.
The list does not take ownership of the factory.
void wxFilterClassFactory::Remove | ( | ) |
Removes this class factory from the list returned by GetFirst()/GetNext().
Removing from the list isn't a thread safe operation so can't be done when other threads are running that will be using the list.
The list does not own the factories, so removing a factory does not delete it.