36class ArchiveFileSystem;
143 return IoServer::Instance()->CreateStream(uri);
152 return IoServer::Instance()->CreateDirectory(uri);
161 return IoServer::Instance()->FileExists(uri);
170 return IoServer::Instance()->ListFiles(dir, pattern, asFullPath);
179 return IoServer::Instance()->ListDirectories(dir, pattern, asFullPath);
188 return IoServer::Instance()->DirectoryExists(uri);
197 return IoServer::Instance()->DeleteFile(uri);
206 return IoServer::Instance()->CopyFile(from, to);
215 return IoServer::Instance()->DeleteDirectory(uri);
The common base class of Nebula.
Definition refcounted.h:38
The HttpClientRegistry provides a way to re-use existing connections to HTTP servers instead of setti...
Definition httpclientregistry.h:26
Central registry for path assigns.
Definition assignregistry.h:26
Defines a file-access timestamp.
For registering callbacks for file modification events.
Definition filewatcher.h:74
static Threading::CriticalSection assignCriticalSection
Definition ioserver.h:132
Util::Array< Util::String > AddPathPrefixToArray(const Util::String &prefix, const Util::Array< Util::String > &filenames) const
helper function to add path prefix to file or dir names in array
Definition ioserver.cc:628
virtual ~IoServer()
destructor
Definition ioserver.cc:107
Ptr< AssignRegistry > assignRegistry
Definition ioserver.h:128
void SetFileWriteTime(const URI &path, FileTime fileTime)
set the write-time of a file
Definition ioserver.cc:512
bool IsArchiveMounted(const URI &uri) const
return true if a archive is mounted (without archive file extension!)
Definition ioserver.cc:199
static Threading::CriticalSection archiveCriticalSection
Definition ioserver.h:124
void SetReadOnly(const URI &path, bool b) const
set the readonly status of a file
Definition ioserver.cc:475
void(const Util::String &file, const Util::String &folder) FileMapFunc
Definition ioserver.h:111
bool IsArchiveFileSystemEnabled() const
return true if transparent archive filesystem is enabled
Definition ioserver.h:234
bool FileExists(const URI &path) const
return true if file exists
Definition ioserver.cc:428
static Threading::CriticalSection watcherCriticalSection
Definition ioserver.h:134
Ptr< Stream > CreateStream(const URI &uri) const
create a stream object for the given uri
Definition ioserver.cc:130
URI CreateTemporaryFilename(const URI &path) const
create a temporary file name
Definition ioserver.cc:690
Util::Array< Util::String > ListDirectories(const URI &dir, const Util::String &pattern, bool asFullPath=false, bool prioritizeArchive=true) const
list all subdirectories matching a pattern in a directory
Definition ioserver.cc:594
bool DeleteFile(const URI &path) const
delete a file
Definition ioserver.cc:404
bool MountEmbeddedArchive(const URI &uri)
mount an embedded file archive
Definition ioserver.cc:179
Ptr< FileWatcher > watcher
Definition ioserver.h:130
void SetArchiveFileSystemEnabled(bool b)
enable/disable transparent archive filesystem layering (default is yes)
Definition ioserver.h:222
void MountStandardArchives()
mount standard archives (e.g. home:export.zip and home:export_$(platform).zip)
Definition ioserver.cc:208
static bool ReadFile(const URI &path, Util::String &contents)
read contents of file and return as string
Definition ioserver.cc:650
static Threading::CriticalSection schemeCriticalSection
Definition ioserver.h:133
bool IsReadOnly(const URI &path) const
return read only status of a file
Definition ioserver.cc:487
bool IsLocked(const URI &path) const
return if file is locked
Definition ioserver.cc:677
bool GetIOInfo(const URI &uri, IOStat &outInfo, bool prioritizeArchive) const
get file/folder information (size, access time, modified time, creation time) via stat calls
Definition ioserver.cc:716
void UnmountArchive(const URI &uri)
unmount a file archive (without archive file extension!)
Definition ioserver.cc:190
void UnmountStandardArchives()
unmount standard archives
Definition ioserver.cc:234
Ptr< ArchiveFileSystem > archiveFileSystem
Definition ioserver.h:123
void IterateFolders(const URI &dir, const Util::String &pattern, FileMapFunc iter)
iterate through all files in hierarchy and call provided function
Definition ioserver.cc:739
bool DeleteDirectory(const URI &path) const
delete an empty directory
Definition ioserver.cc:416
bool EnsureDirectoriesForFile(const URI &uri) const
create all missing directories
Definition ioserver.cc:297
Ptr< SchemeRegistry > schemeRegistry
Definition ioserver.h:129
bool MountArchive(const URI &uri)
mount a file archive (without archive file extension!)
Definition ioserver.cc:169
Ptr< Http::HttpClientRegistry > httpClientRegistry
Definition ioserver.h:127
bool CopyFile(const URI &from, const URI &to) const
copy a file
Definition ioserver.cc:311
static Util::String NativePath(const Util::String &path)
return native path
Definition ioserver.cc:702
static bool StandardArchivesMounted
Definition ioserver.h:125
FileTime GetFileWriteTime(const URI &path) const
return the last write-time of a file
Definition ioserver.cc:524
bool CreateDirectory(const URI &uri) const
create all missing directories in the path
Definition ioserver.cc:256
Ptr< StreamCache > streamCache
Definition ioserver.h:131
bool DirectoryExists(const URI &path) const
return true if directory exists
Definition ioserver.cc:450
unsigned int ComputeFileCrc(const URI &path) const
get the CRC checksum of a file
Definition ioserver.cc:370
IoServer()
constructor
Definition ioserver.cc:39
__DeclareSingleton(IoServer)
Util::Array< Util::String > ListFiles(const URI &dir, const Util::String &pattern, bool asFullPath=false) const
list all files matching a pattern in a directory
Definition ioserver.cc:536
bool archiveFileSystemEnabled
Definition ioserver.h:122
Offers an abstract interface for read/write access to a sequence of bytes.
Definition stream.h:28
An URI object can split a Uniform Resource Identifier string into its components or build a string fr...
Definition uri.h:67
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:61
Nebula's universal string class.
Definition string.h:50
This file was generated with Nebula Trifid's idlc compiler tool.
Definition defaulthttprequesthandler.cc:15
Instances of wrapped stream classes.
Definition multiplayerfeatureunit.cc:324
Util::Array< Util::String > ListDirectories(const IO::URI &dir, const Util::String &pattern=nullptr, bool asFullPath=false)
Definition ioserver.h:177
bool DirectoryExists(const IO::URI &uri)
Definition ioserver.h:186
Ptr< IO::Stream > CreateStream(const IO::URI &uri)
Definition ioserver.h:141
bool DeleteDirectory(const IO::URI &uri)
Definition ioserver.h:213
bool DeleteFile(const IO::URI &uri)
Definition ioserver.h:195
bool FileExists(const IO::URI &uri)
Definition ioserver.h:159
bool CreateDirectory(const IO::URI &uri)
Definition ioserver.h:150
Util::Array< Util::String > ListFiles(const IO::URI &dir, const Util::String &pattern=nullptr, bool asFullPath=false)
Definition ioserver.h:168
bool CopyFile(const IO::URI &from, const IO::URI &to)
Definition ioserver.h:204