X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a8d2cf4e70be848aaa52b1bff27b52440da1b648..6df6e35a3eae74404f15f8f7c09ce19c29f47b4a:/include/wx/stream.h diff --git a/include/wx/stream.h b/include/wx/stream.h index cad5148ab9..505bb34625 100644 --- a/include/wx/stream.h +++ b/include/wx/stream.h @@ -335,15 +335,10 @@ enum wxStreamProtocolType void WXDLLIMPEXP_BASE wxUseFilterClasses(); -class WXDLLIMPEXP_BASE wxFilterClassFactory : public wxObject +class WXDLLIMPEXP_BASE wxFilterClassFactoryBase : public wxObject { public: - virtual ~wxFilterClassFactory() { } - - virtual wxFilterInputStream *NewStream(wxInputStream& stream) const = 0; - virtual wxFilterOutputStream *NewStream(wxOutputStream& stream) const = 0; - virtual wxFilterInputStream *NewStream(wxInputStream *stream) const = 0; - virtual wxFilterOutputStream *NewStream(wxOutputStream *stream) const = 0; + virtual ~wxFilterClassFactoryBase() { } wxString GetProtocol() const { return wxString(*GetProtocols()); } wxString PopExtension(const wxString& location) const; @@ -355,6 +350,22 @@ public: wxStreamProtocolType type = wxSTREAM_PROTOCOL) const; +protected: + wxString::size_type FindExtension(const wxChar *location) const; + + DECLARE_ABSTRACT_CLASS(wxFilterClassFactoryBase) +}; + +class WXDLLIMPEXP_BASE wxFilterClassFactory : public wxFilterClassFactoryBase +{ +public: + virtual ~wxFilterClassFactory() { } + + virtual wxFilterInputStream *NewStream(wxInputStream& stream) const = 0; + virtual wxFilterOutputStream *NewStream(wxOutputStream& stream) const = 0; + virtual wxFilterInputStream *NewStream(wxInputStream *stream) const = 0; + virtual wxFilterOutputStream *NewStream(wxOutputStream *stream) const = 0; + static const wxFilterClassFactory *Find(const wxChar *protocol, wxStreamProtocolType type = wxSTREAM_PROTOCOL); @@ -371,8 +382,6 @@ protected: wxFilterClassFactory& operator=(const wxFilterClassFactory&) { return *this; } - wxString::size_type FindExtension(const wxChar *location) const; - private: static wxFilterClassFactory *sm_first; wxFilterClassFactory *m_next;