src/core/directories.h (view raw)
1/* Copyright (c) 2013-2015 Jeffrey Pfau
2 *
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6#ifndef DIRECTORIES_H
7#define DIRECTORIES_H
8
9#include "util/common.h"
10
11#if !defined(MINIMAL_CORE) || MINIMAL_CORE < 2
12struct VDir;
13
14struct mDirectorySet {
15 char baseName[PATH_MAX];
16 struct VDir* base;
17 struct VDir* archive;
18 struct VDir* save;
19 struct VDir* patch;
20 struct VDir* state;
21 struct VDir* screenshot;
22};
23
24void mDirectorySetInit(struct mDirectorySet* dirs);
25void mDirectorySetDeinit(struct mDirectorySet* dirs);
26
27void mDirectorySetAttachBase(struct mDirectorySet* dirs, struct VDir* base);
28void mDirectorySetDetachBase(struct mDirectorySet* dirs);
29
30struct VFile* mDirectorySetOpenPath(struct mDirectorySet* dirs, const char* path, bool (*filter)(struct VFile*));
31struct VFile* mDirectorySetOpenSuffix(struct mDirectorySet* dirs, struct VDir* dir, const char* suffix, int mode);
32
33struct mCoreOptions;
34void mDirectorySetMapOptions(struct mDirectorySet* dirs, const struct mCoreOptions* opts);
35#endif
36
37#endif