ManaPlus
src
resources
loaders
xmlloader.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2004-2009 The Mana World Development Team
4
* Copyright (C) 2009-2010 The Mana Developers
5
* Copyright (C) 2011-2019 The ManaPlus Developers
6
* Copyright (C) 2019-2021 Andrei Karas
7
*
8
* This file is part of The ManaPlus Client.
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
#include "
resources/resourcemanager/resourcemanager.h
"
25
26
#include "
utils/checkutils.h
"
27
28
#include "
resources/loaders/xmlloader.h
"
29
30
#include "
debug.h
"
31
32
namespace
33
{
34
struct
ResourceLoader
final
35
{
36
A_DEFAULT_COPY
(
ResourceLoader
)
37
38
const
std
::
string
path;
39
const
UseVirtFs
useResman;
40
const
SkipError
skipError;
41
42
static
Resource
*
load
(const
void
*const v)
43
{
44
if
(v ==
nullptr
)
45
return
nullptr
;
46
const
ResourceLoader
*
const
47
rl =
static_cast<
const
ResourceLoader
*
>
(v);
48
return
new
XML::Document
(rl->
path
,
49
rl->
useResman
,
50
rl->
skipError
);
51
}
52
};
53
54
}
// namespace
55
56
XML::Document
*
Loader::getXml
(
const
std::string &idPath,
57
const
UseVirtFs
useResman,
58
const
SkipError
skipError)
59
{
60
ResourceLoader rl = { idPath, useResman, skipError };
61
return
static_cast<
XML::Document
*
>
(
ResourceManager::get
(
62
"xml_"
+ idPath,
ResourceLoader::load
, &rl));
63
}
checkutils.h
Resource
Definition:
resource.h:35
XML::Document
Definition:
libxml.h:54
debug.h
final
#define final
Definition:
localconsts.h:46
A_DEFAULT_COPY
#define A_DEFAULT_COPY(func)
Definition:
localconsts.h:41
AvatarDB::load
void load()
Definition:
avatardb.cpp:46
Loader::getXml
XML::Document * getXml(const std::string &idPath, const UseVirtFs useResman, const SkipError skipError)
Definition:
xmlloader.cpp:56
ResourceManager::get
Resource * get(const std::string &idPath, generator fun, const void *const data)
Definition:
resourcemanager.cpp:428
std
Definition:
mseprimitives.h:398
resourcemanager.h
SkipError
bool SkipError
Definition:
skiperror.h:30
anonymous_namespace{xmlloader.cpp}::ResourceLoader
Definition:
xmlloader.cpp:35
anonymous_namespace{xmlloader.cpp}::ResourceLoader::skipError
const SkipError skipError
Definition:
xmlloader.cpp:40
anonymous_namespace{xmlloader.cpp}::ResourceLoader::path
const std::string path
Definition:
xmlloader.cpp:38
anonymous_namespace{xmlloader.cpp}::ResourceLoader::useResman
const UseVirtFs useResman
Definition:
xmlloader.cpp:39
UseVirtFs
bool UseVirtFs
Definition:
usevirtfs.h:30
xmlloader.h
Generated on Wed Mar 17 2021 19:19:09 for ManaPlus by
1.9.1