This is the documentation for Enlighten.
module File Handling
Classes
Name | Description |
---|---|
Geo::GeoFileManager | The file manager deals with locating resources given a path and a filename. |
Enums
Name | Description |
---|---|
GeoFSeekOrigin | To avoid pulling in the entire stdio header, use our own values for GeoFSeek. |
Typedefs
Name | Description |
---|---|
void(* FileOpenCallback)(const char *path, const char *mode) | path: path to the file being opened. |
__int64 offset_t | A offset type, similar to size_t (off_t is not supported on all used platforms) |
Functions
Name | Description |
---|---|
FileExists(const char *) | Checks that testFile exists. |
FileExistsAndIsNewer(const char *, const char *) | Checks that testFile exists and is newer than exemplarFile. |
FileIsWritable(const char *) | Checks that the file named filename can be written to. |
FreeLoadedFile(void *) | Free a previously loaded file. |
GeoConstructAPIFilename(const char *, char *) | Construct a filename for use in the underlying platform filesystem API. |
GeoDeleteFile(const char *) | Delete a file. |
GeoDirectoryCreate(const char *) | Creates a directory and all the directories leading up to it. |
GeoFClose(FILE *) | A safe alternative to fclose. |
GeoFEof(FILE *) | A safe alternative to feof. |
GeoFError(FILE *) | A safe alternative to ferror. Returns a non-zero value to indicate an error. |
GeoFOpen(const char *, const char *) | GeoFOpen. |
GeoFRead(void *, size_t, size_t, FILE *) | A safe alternative to fread. |
GeoFSeek(offset_t, GeoFSeekOrigin, FILE *) | A safe alternative to fseek. |
GeoFTell(FILE *) | A safe alternative to ftell. |
GeoFWrite(const void *, size_t, size_t, FILE *) | A safe alternative to fwrite. |
GeoRenameFile(const char *, const char *) | Rename a file. |
GetFileSystemPrefix() | Get the previously set file system prefix for the current platform. |
InvokeFileOpenCallback(const char *, const char *) | Invoke the file open callback, if set. |
LoadFile(const char *, u32 &, u32, u32) | A safe alternative to ferror. |
LoadFileStr(const char *, u32 &, u32) | Load a file and append a null terminator. |
SaveFile(const char *, const void *, u32) | Save a file. |
SetFileOpenCallback(FileOpenCallback) | Set the function to be called when a file is opened, or a null pointer to disable the callback. |
SetFileSystemPrefix(const char *) | Set a file system prefix for the current platform. |
GeoFSeekOrigin
public: enum GeoFSeekOrigin
{
  GEO_SEEK_SET = 0,
  GEO_SEEK_CUR = 1,
  GEO_SEEK_END = 2
}
To avoid pulling in the entire stdio header, use our own values for GeoFSeek.
enumerators
GEO_SEEK_SET | Seek from beginning of file (SEEK_SET) |
GEO_SEEK_CUR | Seek from current position (SEEK_CUR) |
GEO_SEEK_END | Seek from end of file (SEEK_END) |
bool GEO_CALL Geo::FileExists
public: bool GEO_CALL FileExists
(
  const char * testFile
)
Checks that testFile exists.
bool GEO_CALL Geo::FileExistsAndIsNewer
public: bool GEO_CALL FileExistsAndIsNewer
(
  const char * testFile,
  const char * exemplarFile
)
Checks that testFile exists and is newer than exemplarFile.
Returns true iff both files exist and the testFile has been modified more recently than exemplarFile.
bool GEO_CALL Geo::FileIsWritable
public: bool GEO_CALL FileIsWritable
(
  const char * filename
)
Checks that the file named filename can be written to.
Returns true for a writable existing file, or if a file with that name could be created.
void GEO_CALL Geo::FreeLoadedFile
public: void GEO_CALL FreeLoadedFile
(
  void * file
)
Free a previously loaded file.
bool Geo::GeoConstructAPIFilename
public: bool GeoConstructAPIFilename
(
  const char * inFilename,
  char * outFilename
)
Construct a filename for use in the underlying platform filesystem API.
bool Geo::GeoDeleteFile
public: bool GeoDeleteFile
(
  const char * filename
)
Delete a file.
bool GEO_CALL Geo::GeoDirectoryCreate
public: bool GEO_CALL GeoDirectoryCreate
(
  const char * directory
)
Creates a directory and all the directories leading up to it.
Used often in the pipeline tools
Note
Does nothing (and returns false) on a console
int GEO_CALL Geo::GeoFClose
public: int GEO_CALL GeoFClose
(
  FILE * stream
)
A safe alternative to fclose.
int GEO_CALL Geo::GeoFEof
public: int GEO_CALL GeoFEof
(
  FILE * stream
)
A safe alternative to feof.
Geo::s32 GEO_CALL Geo::GeoFError
public: Geo::s32GEO_CALL GeoFError
(
  FILE * file
)
A safe alternative to ferror. Returns a non-zero value to indicate an error.
FILE* GEO_CALL Geo::GeoFOpen
public: FILE *GEO_CALL GeoFOpen
(
  const char * filename,
  const char * mode
)
GeoFOpen.
Calls the operating system's fopen() method, and returns a FILE* in the usual fashion, however it takes account of any local system convension for file paths, and transparently manages these behind the scenes.
size_t GEO_CALL Geo::GeoFRead
public: size_t GEO_CALL GeoFRead
(
  void * input,
  size_t size,
  size_t count,
  FILE * file
)
A safe alternative to fread.
This guarantees (unless there is an error) to load the entire data. If the number returned does not match the count specified for input, there was a file IO problem.
int GEO_CALL Geo::GeoFSeek
public: int GEO_CALL GeoFSeek
(
  offset_t offset,
  GeoFSeekOrigin origin,
  FILE * file
)
A safe alternative to fseek.
offset_t GEO_CALL Geo::GeoFTell
public: offset_t GEO_CALL GeoFTell
(
  FILE * file
)
A safe alternative to ftell.
size_t GEO_CALL Geo::GeoFWrite
public: size_t GEO_CALL GeoFWrite
(
  const void * output,
  size_t size,
  size_t count,
  FILE * file
)
A safe alternative to fwrite.
bool GEO_CALL Geo::GeoRenameFile
public: bool GEO_CALL GeoRenameFile
(
  const char * oldName,
  const char * newName
)
Rename a file.
const char* GEO_CALL Geo::GetFileSystemPrefix
public: const char *GEO_CALL GetFileSystemPrefix()
Get the previously set file system prefix for the current platform.
void Geo::InvokeFileOpenCallback
public: void InvokeFileOpenCallback
(
  const char * path,
  const char * mode
)
Invoke the file open callback, if set.
void* GEO_CALL Geo::LoadFile
public: void *GEO_CALL LoadFile
(
  const char * filename,
  u32 & length,
  u32 align,
  u32 extra_alloc
)
A safe alternative to ferror.
Load a file returns 0 if this fails the loaded file must be freed using FreeLoadedFile
char* GEO_CALL Geo::LoadFileStr
public: char *GEO_CALL LoadFileStr
(
  const char * filename,
  u32 & length,
  u32 align
)
Load a file and append a null terminator.
The loaded file must be freed using FreeLoadedFile.
Returns
Null if this fails
bool GEO_CALL Geo::SaveFile
public: bool GEO_CALL SaveFile
(
  const char * filename,
  const void * data,
  u32 length
)
Save a file.
Returns
False if this fails.
void Geo::SetFileOpenCallback
public: void SetFileOpenCallback
(
  FileOpenCallback callback
)
Set the function to be called when a file is opened, or a null pointer to disable the callback.
This has no effect unless GEO_DEVEL is defined!
void GEO_CALL Geo::SetFileSystemPrefix
public: void GEO_CALL SetFileSystemPrefix
(
  const char * prefix
)
Set a file system prefix for the current platform.
For example, "/app_home" then GeoFOpen "/filename" will open e.g. "/app_home/filename"