gtFileSystem
export class : gtRefObject
Класс содержащий статичные методы для работы с файлами и папками.
Константы
constexpr u32 GT_MAX_PATH = 0xffff;
Методы
gtFileSystem::addArchive
GT_API static bool addArchive( const gtString& file );
Добавить архив.
gtFileSystem::createFile
GT_API static gtPtrNew<gtFile> createFile( const gtString& fileName, gtFileMode mode, gtFileAccessMode access, gtFileAction action, gtFileShareMode shareMode = gtFileShareMode::None, u32 attributeFlags = 0u );
Параметр attributeFlags хранит флаги указанные в gtFileAttribute.
Создаёт файл.
Необъодимо использовать gtPtr для автоматического закрытия файла и удаления объекта.
gtPtr<gtFile> file = gtFileSystem::createFile(...)
Можно использовать синоним gtFile_t.
gtFile_t file = gtFileSystem::createFile(...)
Для краткости записи вызова метода createFile созданы вспомогательные функции.
gtFileSystem::copyFile
GT_API static bool copyFile( const gtString& existingFileName, const gtString& newFileName, bool overwrite );
Создаёт копию файла.
Параметр overwrite true если нужно перезаписать существующий файл.
gtFileSystem::createDir
GT_API static bool createDir( const gtString& dir );
Создать директорию.
gtFileSystem::deleteDir
GT_API static bool deleteDir( const gtString& dir );
Удалит директорию вместе с файлами и поддиректориями.
gtFileSystem::deleteFile
GT_API static bool deleteFile( const gtString& file );
Удалит файл.
gtFileSystem::existDir
GT_API static bool existDir( const gtString& dir );
Вернёт истину если указанная директория существует.
gtFileSystem::existFile
GT_API static bool existFile( const gtString& file );
Вернёт истину если указанный файл существует.
gtFileSystem::getProgramPath
GT_API static gtString getProgramPath();
Получить путь к программе.
gtFileSystem::getRealPath
Получить из относительного пути реальный путь.
gtFileSystem::getSystemPath
GT_API static gtString getSystemPath();
Получить путь к системной директории.
gtFileSystem::getDirObject
GT_API static bool getDirObject( DirObject* inout );
При сканировании директории, получить текущий объект директории.
gtFileSystem::scanDirBegin
GT_API static void scanDirBegin( gtString dir );
Начать сканировать директорию.
Перед сканированием директории, нужно вызвать эту функцию.
После сканирования, нужно вызвать gtFileSystem::scanDirEnd.
gtFileSystem::scanDirEnd
GT_API static void scanDirEnd();
Завершить сканирование директории.
gtFileSystem::unpack
GT_API static u8 * unpack( const gtString& file, u32 * size );
Распакует файл из архива.
Вернёт массив который нужно будет удалить вызвав gtMemFree.
Для автоматического удаления можно использовать класс gtMemPtr.
Размер данных запишется в переменную через второй параметр.
Если файлы не найдутся в папке, то плагины при загрузке ресурсов попробоют найти эти файлы в архиве.
gtFileSystem::XMLRead
Прочитать XML файл.
gtFileSystem::XMLWrite
Записать XML файл.
Для записи необходим лиш корневой элемент.
Дополнительные типы
Данные типы созданы в помощь при сканировании директории.
gtFileSystem::DirObjectType
enum class : u32
Перечисляет тип объекта что находится в директории.
info
Не директория и не файл (например точки . и .. ).
folder
Директория.
file
Файл.
gtFileSystem::DirObject
struct
Описывает объект директории.
Открытые члены
wchar_t path[GT_MAX_PATH];
Полный путь к объекту.
DirObjectType type;
Тип объекта.
u32 size;
Размер в байтах.
|