Factory some of wxFilterClassFactory into a base class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user