Файловая система
Описание
Интерфейс файловой системы представлен классом IFileSystem. Что бы получить текущий экземпляр класса
файловой системы нужно вызвать метод getFileSystem() у интерфейса IXCore.
Информация
| Заголовочный файл: | #include "IFileSystem" |
|---|---|
| Наследуется от: | IXUnknown |
| Наследуется в: | CFileSystem |
Публичные методы
Методы
virtual UINT addRoot(const char* szPath, int iPriority = -1) = 0;
virtual UINT getRootCount() = 0 const;
virtual const char* getRoot(UINT id) = 0 const;
Корневые пути
Для удобной работы с файлами класс файловой системы работает с корневыми путями.
Корневые пути вычисляются на основе местоположения папки build в каталоге сборки.
Однако корневой путь может быть и абсолютным. У корневых путей есть свой приоритет,
чем он выше (больше число) тем раньше путь будет использоваться.
Для работы с корневыми путями используются методы: addRoot, getRootCount, getRoot.
UINT IFileSystem::addRoot(const char *szPath, int iPriority = -1) [чисто виртуальная]
Метод addRoot предназначен для добавления корневых путей в файловую систему.
Добавить можно относительный и абсолютный путь. При добавлении корневого пути можно указать приоритет.
Если приоритет -1 (по умолчанию) то корень добавленный с приоритетом по умолчанию получит наивысший приоритет среди уже добавленных корней.
Метод не потокобезопасен. Исключений не выбрасывает.
UINT IFileSystem::getRootCount() [чисто виртуальная]
Метод getRootCount возвращает количество уже добавленных корней.
const char *IFileSystem::getRoot(UINT id) [чисто виртуальная]
Метод getRoot возвращает корневой путь по id. Возвращает абсолютный путь, даже если путь с этим id был добавлен как относительный.
Пример:
UINT id = pFS->addRoot("fs_test");
const char *szPath = pFS->getRoot(id);
std::cout << szPath << std::endl;
Вывод:
E:/engine/build/fs_test
void IFileSystem::setWritableRoot(UINT id) [чисто виртуальная]
Метод setWritableRoot устанавливает корневой путь путем для записи.
По этому пути будут осуществляться все операции создания файлов.
Путь для записи может быть только один, если явно не задан -
используется первый добавленный путь, не являющийся архивом.