33 #ifndef CPL_VSI_VIRTUAL_H_INCLUDED
34 #define CPL_VSI_VIRTUAL_H_INCLUDED
40 # include "cpl_wince.h"
41 # include <wce_errno.h>
42 # pragma warning(disable:4786)
55 virtual int Seek( vsi_l_offset nOffset,
int nWhence ) = 0;
56 virtual vsi_l_offset Tell() = 0;
57 virtual size_t Read(
void *pBuffer,
size_t nSize,
size_t nMemb ) = 0;
58 virtual int ReadMultiRange(
int nRanges,
void ** ppData,
const vsi_l_offset* panOffsets,
const size_t* panSizes );
59 virtual size_t Write(
const void *pBuffer,
size_t nSize,
size_t nMemb)=0;
60 virtual int Eof() = 0;
61 virtual int Flush() {
return 0;}
62 virtual int Close() = 0;
63 virtual int Truncate( vsi_l_offset nNewSize ) {
return -1; }
78 const char *pszAccess) = 0;
79 virtual int Stat(
const char *pszFilename, VSIStatBufL *pStatBuf,
int nFlags) = 0;
80 virtual int Unlink(
const char *pszFilename )
81 { (void) pszFilename; errno=ENOENT;
return -1; }
82 virtual int Mkdir(
const char *pszDirname,
long nMode )
83 {(void)pszDirname; (void)nMode; errno=ENOENT;
return -1;}
84 virtual int Rmdir(
const char *pszDirname )
85 { (void) pszDirname; errno=ENOENT;
return -1; }
86 virtual char **ReadDir(
const char *pszDirname )
87 { (void) pszDirname;
return NULL; }
88 virtual int Rename(
const char *oldpath,
const char *newpath )
89 { (void) oldpath; (void)newpath; errno=ENOENT;
return -1; }
90 virtual int IsCaseSensitive(
const char* pszFilename )
91 { (void) pszFilename;
return TRUE; }
102 std::map<std::string, VSIFilesystemHandler *> oHandlers;
112 static void InstallHandler(
const std::string& osPrefix,
114 static void RemoveHandler(
const std::string& osPrefix );
133 vsi_l_offset uncompressed_size;
136 GIntBig nModifiedTime;
150 virtual int GotoFirstFile() = 0;
151 virtual int GotoNextFile() = 0;
153 virtual GUIntBig GetFileSize() = 0;
155 virtual GIntBig GetModifiedTime() = 0;
166 std::map<CPLString,VSIArchiveContent*> oFileList;
168 virtual const char* GetPrefix() = 0;
169 virtual std::vector<CPLString> GetExtensions() = 0;
176 virtual int Stat(
const char *pszFilename, VSIStatBufL *pStatBuf,
int nFlags );
177 virtual int Unlink(
const char *pszFilename );
178 virtual int Rename(
const char *oldpath,
const char *newpath );
179 virtual int Mkdir(
const char *pszDirname,
long nMode );
180 virtual int Rmdir(
const char *pszDirname );
181 virtual char **ReadDir(
const char *pszDirname );
184 virtual char* SplitFilename(
const char *pszFilename,
CPLString &osFileInArchive,
int bCheckMainFileExists);
185 virtual VSIArchiveReader* OpenArchiveFile(
const char* archiveFilename,
const char* fileInArchiveName);
186 virtual int FindFileInArchive(
const char* archiveFilename,
const char* fileInArchiveName,
const VSIArchiveEntry** archiveEntry);
Definition: cpl_vsi_virtual.h:71
Definition: cpl_vsi_virtual.h:159
Definition: cpl_vsi_virtual.h:53
Convenient string class based on std::string.
Definition: cpl_string.h:224
Definition: cpl_vsi_virtual.h:139
Definition: cpl_vsi_virtual.h:130
Definition: cpl_vsi_virtual.h:145
Definition: cpl_vsi_virtual.h:98
Definition: cpl_vsi_virtual.h:124