home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / fs_mem.h < prev    next >
C/C++ Source or Header  |  2002-11-09  |  2KB  |  70 lines

  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. #if defined(__GNUG__) && !defined(__APPLE__)
  13. #pragma interface "fs_mem.h"
  14. #endif
  15.  
  16. #include "wx/wxprec.h"
  17.  
  18. #ifdef __BORLANDC__
  19. #pragma hdrstop
  20. #endif
  21.  
  22. #if wxUSE_FILESYSTEM
  23.  
  24. #include "wx/filesys.h"
  25.  
  26. #if wxUSE_GUI
  27.     #include "wx/image.h"
  28.     #include "wx/bitmap.h"
  29. #endif
  30.  
  31. //--------------------------------------------------------------------------------
  32. // wxMemoryFSHandler
  33. //--------------------------------------------------------------------------------
  34.  
  35. class WXDLLEXPORT wxMemoryFSHandler : public wxFileSystemHandler
  36. {
  37.     public:
  38.         wxMemoryFSHandler();
  39.         ~wxMemoryFSHandler();
  40.  
  41.         // Add file to list of files stored in memory. Stored data (bitmap, text or raw data)
  42.         // will be copied into private memory stream and available under name "memory:" + filename
  43. #if wxUSE_GUI
  44.         static void AddFile(const wxString& filename, wxImage& image, long type);
  45.         static void AddFile(const wxString& filename, const wxBitmap& bitmap, long type);
  46. #endif
  47.         static void AddFile(const wxString& filename, const wxString& textdata);
  48.         static void AddFile(const wxString& filename, const void *binarydata, size_t size);
  49.  
  50.         // Remove file from memory FS and free occupied memory
  51.         static void RemoveFile(const wxString& filename);
  52.  
  53.         virtual bool CanOpen(const wxString& location);
  54.         virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
  55.         virtual wxString FindFirst(const wxString& spec, int flags = 0);
  56.         virtual wxString FindNext();
  57.  
  58.     private:
  59.         static wxHashTable *m_Hash;
  60.  
  61.         static bool CheckHash(const wxString& filename);
  62. };
  63.  
  64. #endif
  65.   // wxUSE_FILESYSTEM
  66.  
  67.  
  68. #endif // _WX_FS_MEM_H_
  69.  
  70.