1 |
william |
31 |
///////////////////////////////////////////////////////////////////////////// |
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 |
|
|
|
25 |
|
|
const wxArchiveClassFactory * |
26 |
|
|
wxArchiveClassFactory::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 |
36 |
|
|
const wxArchiveClassFactory *wxArchiveClassFactory::GetFirst() |
37 |
|
|
{ |
38 |
|
|
if (!sm_first) |
39 |
|
|
wxUseArchiveClasses(); |
40 |
|
|
return sm_first; |
41 |
|
|
} |
42 |
|
|
|
43 |
|
|
#endif // wxUSE_ARCHIVE_STREAMS |