MyGUI
3.0.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_IResource.h
Go to the documentation of this file.
1
7
/*
8
This file is part of MyGUI.
9
10
MyGUI is free software: you can redistribute it and/or modify
11
it under the terms of the GNU Lesser General Public License as published by
12
the Free Software Foundation, either version 3 of the License, or
13
(at your option) any later version.
14
15
MyGUI 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 Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public License
21
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
#ifndef __MYGUI_I_RESOURCE_H__
24
#define __MYGUI_I_RESOURCE_H__
25
26
#include "
MyGUI_Prerequest.h
"
27
#include "
MyGUI_XmlDocument.h
"
28
#include "
MyGUI_Guid.h
"
29
#include "
MyGUI_Version.h
"
30
#include "
MyGUI_ISerializable.h
"
31
#include "
MyGUI_ResourceHolder.h
"
32
33
namespace
MyGUI
34
{
35
36
class
IResource
;
37
typedef
IResource
*
IResourcePtr
;
38
39
class
ResourceManager
;
40
41
class
MYGUI_EXPORT
IResource
:
public
ISerializable
42
{
43
// для серелизации
44
friend
class
ResourceManager
;
45
// для удаления
46
friend
class
ResourceHolder
<
IResource
>;
47
48
MYGUI_RTTI_DERIVED
(
IResource
)
49
50
public:
51
const std::
string
& getResourceName() {
return
mResourceName; }
52
const
Guid
&
getResourceID
() {
return
mResourceID; }
53
54
protected
:
55
IResource
() { }
56
private
:
57
// constructors and operator =, without implementation, just for private
58
IResource
(
IResource
const
&);
59
IResource
& operator = (
IResource
const
&);
60
61
protected
:
62
virtual
void
deserialization(
xml::ElementPtr
_node,
Version
_version)
63
{
64
mResourceID =
Guid::parse
(_node->
findAttribute
(
"id"
));
65
mResourceName = _node->
findAttribute
(
"name"
);
66
}
67
68
virtual
~IResource
() { }
69
70
private
:
71
std::string mResourceName;
72
Guid
mResourceID;
73
};
74
75
}
// namespace MyGUI
76
77
#endif // __MYGUI_I_RESOURCE_H__
Generated by
1.8.1.2