Nebula
Loading...
Searching...
No Matches
Win32::Win32FSWrapper Class Reference

#include <win32fswrapper.h>

Detailed Description

Internal filesystem wrapper for Win32.

All paths must be native paths (i.e. not contain Nebula assigns).

Public Types

typedef HANDLE Handle
 

Static Public Member Functions

static Handle OpenFile (const Util::String &path, IO::Stream::AccessMode accessMode, IO::Stream::AccessPattern accessPattern, DWORD flagsAndAttributes=0)
 open a file
 
static void CloseFile (Handle h)
 close a file
 
static void Write (Handle h, const void *buf, IO::Stream::Size numBytes)
 write to a file
 
static IO::Stream::Size Read (Handle h, void *buf, IO::Stream::Size numBytes)
 read from a file
 
static char * Map (Handle h, IO::Stream::AccessMode accessMode, Handle &mappedHandle)
 map file to virtual memory
 
static void Unmap (Handle mapHandle, char *buf)
 unmap file
 
static void Seek (Handle h, IO::Stream::Offset offset, IO::Stream::SeekOrigin orig)
 seek in a file
 
static IO::Stream::Position Tell (Handle h)
 get position in file
 
static void Flush (Handle h)
 flush a file
 
static bool Eof (Handle h)
 return true if at end-of-file
 
static IO::Stream::Size GetFileSize (Handle h)
 get size of a file in bytes
 
static void SetReadOnly (const Util::String &path, bool readOnly)
 set read-only status of a file
 
static bool IsReadOnly (const Util::String &path)
 get read-only status of a file
 
static bool IsLocked (const Util::String &path)
 get locked status of file
 
static bool DeleteFile (const Util::String &path)
 delete a file
 
static bool ReplaceFile (const Util::String &source, const Util::String &target)
 rename a file
 
static bool DeleteDirectory (const Util::String &path)
 delete an empty directory
 
static bool FileExists (const Util::String &path)
 return true if a file exists
 
static bool DirectoryExists (const Util::String &path)
 return true if a directory exists
 
static void SetFileWriteTime (const Util::String &path, IO::FileTime fileTime)
 set the write-access time stamp of a file
 
static IO::FileTime GetFileWriteTime (const Util::String &path)
 get the last write-access time stamp of a file
 
static bool CreateDirectory (const Util::String &path)
 create a directory
 
static Util::String CreateTemporaryFilename (const Util::String &path)
 create a temporary file name
 
static Util::Array< Util::StringListFiles (const Util::String &dirPath, const Util::String &pattern)
 list all files in a directory
 
static Util::Array< Util::StringListDirectories (const Util::String &dirPath, const Util::String &pattern)
 list all subdirectories in a directory
 
static Util::String GetUserDirectory ()
 get path to the current user's home directory (for user: standard assign)
 
static Util::String GetAppDataDirectory ()
 get path to the current user's appdata directory (for appdata: standard assign)
 
static Util::String GetTempDirectory ()
 get path to the current user's temp directory (for temp: standard assign)
 
static Util::String GetHomeDirectory ()
 get path to the current application directory (for home: standard assign)
 
static Util::String GetBinDirectory ()
 get path to the current bin directory (for bin: standard assign)
 
static Util::String GetProgramsDirectory ()
 get path to the "c:/program files" directory
 
static Util::String GetCurrentDirectory ()
 get current working directory
 
static bool IsDeviceName (const Util::String &str)
 return true when the string is a device name (e.g. "C:")
 

Static Private Member Functions

static void ConvertToWidePath (const Util::String &src, ushort *dst, SizeT dstNumBytes)
 convert UTF8 path name to WideChar path name
 

Member Typedef Documentation

◆ Handle

Member Function Documentation

◆ CloseFile()

void Win32::Win32FSWrapper::CloseFile ( Handle h)
static

close a file

Closes a file opened by Win32FSWrapper::OpenFile().

◆ ConvertToWidePath()

static void Win32::Win32FSWrapper::ConvertToWidePath ( const Util::String & src,
ushort * dst,
SizeT dstNumBytes )
staticprivate

convert UTF8 path name to WideChar path name

◆ CreateDirectory()

bool Win32::Win32FSWrapper::CreateDirectory ( const Util::String & path)
static

create a directory

Creates a new directory.

◆ CreateTemporaryFilename()

Util::String Win32::Win32FSWrapper::CreateTemporaryFilename ( const Util::String & path)
static

create a temporary file name

◆ DeleteDirectory()

bool Win32::Win32FSWrapper::DeleteDirectory ( const Util::String & path)
static

delete an empty directory

Delete an empty directory.

Returns true if the operation was successful.

◆ DeleteFile()

bool Win32::Win32FSWrapper::DeleteFile ( const Util::String & path)
static

delete a file

Deletes a file.

Returns true if the operation was successful. The delete will fail if the fail doesn't exist or the file is read-only.

◆ DirectoryExists()

bool Win32::Win32FSWrapper::DirectoryExists ( const Util::String & path)
static

return true if a directory exists

Return true if a directory exists.

◆ Eof()

bool Win32::Win32FSWrapper::Eof ( Handle h)
static

return true if at end-of-file

Returns true if current position is at end of file.

◆ FileExists()

bool Win32::Win32FSWrapper::FileExists ( const Util::String & path)
static

return true if a file exists

Return true if a file exists.

◆ Flush()

void Win32::Win32FSWrapper::Flush ( Handle h)
static

flush a file

Flush unwritten data to file.

◆ GetAppDataDirectory()

String Win32::Win32FSWrapper::GetAppDataDirectory ( )
static

get path to the current user's appdata directory (for appdata: standard assign)

◆ GetBinDirectory()

String Win32::Win32FSWrapper::GetBinDirectory ( )
static

get path to the current bin directory (for bin: standard assign)

This method sould return the directory where the application executable is located.

◆ GetCurrentDirectory()

String Win32::Win32FSWrapper::GetCurrentDirectory ( )
static

get current working directory

◆ GetFileSize()

Stream::Size Win32::Win32FSWrapper::GetFileSize ( Handle h)
static

get size of a file in bytes

Returns the size of a file in bytes.

◆ GetFileWriteTime()

FileTime Win32::Win32FSWrapper::GetFileWriteTime ( const Util::String & path)
static

get the last write-access time stamp of a file

Return the last write-access time to a file.

◆ GetHomeDirectory()

String Win32::Win32FSWrapper::GetHomeDirectory ( )
static

get path to the current application directory (for home: standard assign)

This method should return the installation directory of the application.

◆ GetProgramsDirectory()

String Win32::Win32FSWrapper::GetProgramsDirectory ( )
static

get path to the "c:/program files" directory

◆ GetTempDirectory()

String Win32::Win32FSWrapper::GetTempDirectory ( )
static

get path to the current user's temp directory (for temp: standard assign)

◆ GetUserDirectory()

String Win32::Win32FSWrapper::GetUserDirectory ( )
static

get path to the current user's home directory (for user: standard assign)

◆ IsDeviceName()

bool Win32::Win32FSWrapper::IsDeviceName ( const Util::String & str)
static

return true when the string is a device name (e.g. "C:")

Return true if the provided string is a device name.

◆ IsLocked()

bool Win32::Win32FSWrapper::IsLocked ( const Util::String & path)
static

get locked status of file

try to check for a lock by trying to lock the file.

inherently racey, but good enough in some situations

◆ IsReadOnly()

bool Win32::Win32FSWrapper::IsReadOnly ( const Util::String & path)
static

get read-only status of a file

Get the read-only status of a file.

◆ ListDirectories()

Array< String > Win32::Win32FSWrapper::ListDirectories ( const Util::String & dirPath,
const Util::String & pattern )
static

list all subdirectories in a directory

Lists all subdirectories in a directory, filtered by a pattern.

This will not return the special directories ".." and ".".

◆ ListFiles()

Array< String > Win32::Win32FSWrapper::ListFiles ( const Util::String & dirPath,
const Util::String & pattern )
static

list all files in a directory

Lists all files in a directory, filtered by a pattern.

◆ Map()

char * Win32::Win32FSWrapper::Map ( Handle h,
IO::Stream::AccessMode accessMode,
Handle & mappedHandle )
static

map file to virtual memory

◆ OpenFile()

Win32FSWrapper::Handle Win32::Win32FSWrapper::OpenFile ( const Util::String & path,
IO::Stream::AccessMode accessMode,
IO::Stream::AccessPattern accessPattern,
DWORD flagsAndAttributes = 0 )
static

open a file

Open a file using the function CreateFile().

Returns a handle to the file which must be passed to the other Win32FSWrapper file methods. If opening the file fails, the function will return 0. The filename must be a native win32 path (no assigns, etc...).

◆ Read()

Stream::Size Win32::Win32FSWrapper::Read ( Handle h,
void * buf,
IO::Stream::Size numBytes )
static

read from a file

Read data from a file, returns number of bytes read.

◆ ReplaceFile()

bool Win32::Win32FSWrapper::ReplaceFile ( const Util::String & source,
const Util::String & target )
static

rename a file

◆ Seek()

void Win32::Win32FSWrapper::Seek ( Handle h,
IO::Stream::Offset offset,
IO::Stream::SeekOrigin orig )
static

seek in a file

Seek in a file.

◆ SetFileWriteTime()

void Win32::Win32FSWrapper::SetFileWriteTime ( const Util::String & path,
IO::FileTime fileTime )
static

set the write-access time stamp of a file

Set the write-access time stamp of a file.

◆ SetReadOnly()

void Win32::Win32FSWrapper::SetReadOnly ( const Util::String & path,
bool readOnly )
static

set read-only status of a file

Set the read-only status of a file.

◆ Tell()

Stream::Position Win32::Win32FSWrapper::Tell ( Handle h)
static

get position in file

Get current position in file.

◆ Unmap()

void Win32::Win32FSWrapper::Unmap ( Handle mapHandle,
char * buf )
static

unmap file

◆ Write()

void Win32::Win32FSWrapper::Write ( Handle h,
const void * buf,
IO::Stream::Size numBytes )
static

write to a file

Write data to a file.


The documentation for this class was generated from the following files: