/[pcsx2_0.9.7]/branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/fs_mem.h
ViewVC logotype

Contents of /branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/fs_mem.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 32 - (show annotations) (download)
Tue Sep 7 03:29:01 2010 UTC (9 years, 5 months ago) by william
File MIME type: text/plain
File size: 4410 byte(s)
branching from upstream revision (http://pcsx2.googlecode.com/svn/trunk
): r3113 to
https://svn.netsolutions.dnsalias.com/websvn/ps2/pcsx2/pcsx2_0.9.7/branch/r3113_0.9.7_beta
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: fs_mem.h
3 // Purpose: in-memory file system
4 // Author: Vaclav Slavik
5 // Copyright: (c) 2000 Vaclav Slavik
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
8
9 #ifndef _WX_FS_MEM_H_
10 #define _WX_FS_MEM_H_
11
12 #include "wx/defs.h"
13
14 #if wxUSE_FILESYSTEM
15
16 #include "wx/filesys.h"
17
18 #if wxUSE_GUI
19 class WXDLLIMPEXP_FWD_CORE wxBitmap;
20 class WXDLLIMPEXP_FWD_CORE wxImage;
21 #endif // wxUSE_GUI
22
23 // ----------------------------------------------------------------------------
24 // wxMemoryFSHandlerBase
25 // ----------------------------------------------------------------------------
26
27 class WXDLLIMPEXP_BASE wxMemoryFSHandlerBase : public wxFileSystemHandler
28 {
29 public:
30 wxMemoryFSHandlerBase();
31 virtual ~wxMemoryFSHandlerBase();
32
33 // Add file to list of files stored in memory. Stored data (bitmap, text or
34 // raw data) will be copied into private memory stream and available under
35 // name "memory:" + filename
36 static void AddFile(const wxString& filename, const wxString& textdata);
37 static void AddFile(const wxString& filename, const void *binarydata, size_t size);
38 #if wxABI_VERSION >= 20805
39 static void AddFileWithMimeType(const wxString& filename,
40 const wxString& textdata,
41 const wxString& mimetype);
42 static void AddFileWithMimeType(const wxString& filename,
43 const void *binarydata, size_t size,
44 const wxString& mimetype);
45 #endif // wxABI_VERSION >= 20805
46
47 // Remove file from memory FS and free occupied memory
48 static void RemoveFile(const wxString& filename);
49
50 virtual bool CanOpen(const wxString& location);
51 virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
52 virtual wxString FindFirst(const wxString& spec, int flags = 0);
53 virtual wxString FindNext();
54
55 protected:
56 static bool CheckHash(const wxString& filename);
57 static wxHashTable *m_Hash;
58 };
59
60 // ----------------------------------------------------------------------------
61 // wxMemoryFSHandler
62 // ----------------------------------------------------------------------------
63
64 #if wxUSE_GUI
65
66 // add GUI-only operations to the base class
67 class WXDLLIMPEXP_CORE wxMemoryFSHandler : public wxMemoryFSHandlerBase
68 {
69 public:
70 // bring the base class versions into the scope, otherwise they would be
71 // inaccessible in wxMemoryFSHandler
72 // (unfortunately "using" can't be used as gcc 2.95 doesn't have it...)
73 static void AddFile(const wxString& filename, const wxString& textdata)
74 {
75 wxMemoryFSHandlerBase::AddFile(filename, textdata);
76 }
77
78 static void AddFile(const wxString& filename,
79 const void *binarydata,
80 size_t size)
81 {
82 wxMemoryFSHandlerBase::AddFile(filename, binarydata, size);
83 }
84 #if wxABI_VERSION >= 20805
85 static void AddFileWithMimeType(const wxString& filename,
86 const wxString& textdata,
87 const wxString& mimetype)
88 {
89 wxMemoryFSHandlerBase::AddFileWithMimeType(filename,
90 textdata,
91 mimetype);
92 }
93 static void AddFileWithMimeType(const wxString& filename,
94 const void *binarydata, size_t size,
95 const wxString& mimetype)
96 {
97 wxMemoryFSHandlerBase::AddFileWithMimeType(filename,
98 binarydata, size,
99 mimetype);
100 }
101 #endif // wxABI_VERSION >= 20805
102
103 #if wxUSE_IMAGE
104 static void AddFile(const wxString& filename,
105 const wxImage& image,
106 long type);
107
108 static void AddFile(const wxString& filename,
109 const wxBitmap& bitmap,
110 long type);
111 #endif // wxUSE_IMAGE
112
113 };
114
115 #else // !wxUSE_GUI
116
117 // just the same thing as the base class in wxBase
118 class WXDLLIMPEXP_BASE wxMemoryFSHandler : public wxMemoryFSHandlerBase
119 {
120 };
121
122 #endif // wxUSE_GUI/!wxUSE_GUI
123
124 #endif // wxUSE_FILESYSTEM
125
126 #endif // _WX_FS_MEM_H_
127

  ViewVC Help
Powered by ViewVC 1.1.22