ScummVM API documentation
wii-fs-factory.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef _WII_FILESYSTEM_FACTORY_H_
23#define _WII_FILESYSTEM_FACTORY_H_
24
25#include "common/str.h"
26#include "common/singleton.h"
27#include "backends/fs/fs-factory.h"
28
29#include <gctypes.h>
30
36class WiiFilesystemFactory final : public FilesystemFactory, public Common::Singleton<WiiFilesystemFactory> {
37public:
38 typedef Common::String String;
39
40 enum FileSystemType {
41 kDVD,
42 kSMB
43 };
44
47 AbstractFSNode *makeFileNodePath(const Common::String &path) const override;
48
49 void asyncInit();
50 void asyncDeinit();
51
52#ifdef USE_WII_SMB
53 void asyncInitNetwork();
54 void setSMBLoginData(const String &server, const String &share,
55 const String &username, const String &password);
56#endif
57
58 bool isMounted(FileSystemType type);
59 bool failedToMount(FileSystemType type);
60
61 void mount(FileSystemType type);
62 void umount(FileSystemType type);
63
64 void mountByPath(const String &path);
65 void umountUnused(const String &path);
66
67protected:
69
70private:
72
73 bool _dvdMounted;
74 bool _smbMounted;
75 bool _dvdError;
76 bool _smbError;
77
78#ifdef USE_WII_SMB
79 String _smbServer;
80 String _smbShare;
81 String _smbUsername;
82 String _smbPassword;
83#endif
84};
85
86#endif /*Wii_FILESYSTEM_FACTORY_H*/
Definition: abstract-fs.h:41
Definition: singleton.h:42
Definition: str.h:59
Definition: fs-factory.h:31
Definition: wii-fs-factory.h:36
AbstractFSNode * makeCurrentDirectoryFileNode() const override
AbstractFSNode * makeRootFileNode() const override
AbstractFSNode * makeFileNodePath(const Common::String &path) const override