Base class factory on the wxFilter base class and implement the new Find feature.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2006-10-27 09:53:38 +00:00
parent 52ad298e66
commit 1b79dad4dc
4 changed files with 144 additions and 11 deletions

View File

@@ -16,18 +16,10 @@
#if wxUSE_STREAMS && wxUSE_ARCHIVE_STREAMS
#ifndef WX_PRECOMP
#endif
#include "wx/archive.h"
#include "wx/link.h"
IMPLEMENT_ABSTRACT_CLASS(wxArchiveEntry, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxArchiveClassFactory, wxObject)
#if wxUSE_ZIPSTREAM
wxFORCE_LINK_MODULE(zipstrm)
#endif
IMPLEMENT_ABSTRACT_CLASS(wxArchiveClassFactory, wxFilterClassFactoryBase)
/////////////////////////////////////////////////////////////////////////////
@@ -40,6 +32,13 @@ wxArchiveInputStream::wxArchiveInputStream(wxInputStream& stream,
{
}
wxArchiveInputStream::wxArchiveInputStream(wxInputStream *stream,
wxMBConv& conv)
: wxFilterInputStream(stream),
m_conv(conv)
{
}
/////////////////////////////////////////////////////////////////////////////
// wxArchiveOutputStream
@@ -51,6 +50,13 @@ wxArchiveOutputStream::wxArchiveOutputStream(wxOutputStream& stream,
{
}
wxArchiveOutputStream::wxArchiveOutputStream(wxOutputStream *stream,
wxMBConv& conv)
: wxFilterOutputStream(stream),
m_conv(conv)
{
}
/////////////////////////////////////////////////////////////////////////////
// wxArchiveEntry
@@ -68,4 +74,25 @@ wxArchiveEntry& wxArchiveEntry::operator=(const wxArchiveEntry& WXUNUSED(e))
return *this;
}
/////////////////////////////////////////////////////////////////////////////
// wxArchiveClassFactory
wxArchiveClassFactory *wxArchiveClassFactory::sm_first = NULL;
void wxArchiveClassFactory::Remove()
{
if (m_next != this)
{
wxArchiveClassFactory **pp = &sm_first;
while (*pp != this)
pp = &(*pp)->m_next;
*pp = m_next;
m_next = this;
}
}
#endif // wxUSE_STREAMS && wxUSE_ARCHIVE_STREAMS