1///////////////////////////////////////////////////////////////////////////// 2// Name: src/common/arcfind.cpp 3// Purpose: Streams for archive formats 4// Author: Mike Wetherell 5// RCS-ID: $Id: arcfind.cpp 42508 2006-10-27 09:53:38Z MW $ 6// Copyright: (c) Mike Wetherell 7// Licence: wxWindows licence 8///////////////////////////////////////////////////////////////////////////// 9 10// For compilers that support precompilation, includes "wx.h". 11#include "wx/wxprec.h" 12 13#ifdef __BORLANDC__ 14 #pragma hdrstop 15#endif 16 17#if wxUSE_ARCHIVE_STREAMS 18 19#include "wx/archive.h" 20 21// These functions are in a separate file so that statically linked apps 22// that do not call them to search for archive handlers will only link in 23// the archive classes they use. 24 25const wxArchiveClassFactory * 26wxArchiveClassFactory::Find(const wxChar *protocol, wxStreamProtocolType type) 27{ 28 for (const wxArchiveClassFactory *f = GetFirst(); f; f = f->GetNext()) 29 if (f->CanHandle(protocol, type)) 30 return f; 31 32 return NULL; 33} 34 35// static 36const wxArchiveClassFactory *wxArchiveClassFactory::GetFirst() 37{ 38 if (!sm_first) 39 wxUseArchiveClasses(); 40 return sm_first; 41} 42 43#endif // wxUSE_ARCHIVE_STREAMS 44