FIFE
2008.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Functions
Variables
Enumerations
Enumerator
Pages
resource.h
1
/***************************************************************************
2
* Copyright (C) 2005-2008 by the FIFE team *
3
* http://www.fifengine.de *
4
* This file is part of FIFE. *
5
* *
6
* FIFE is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Lesser General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2.1 of the License, or (at your option) any later version. *
10
* *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the *
18
* Free Software Foundation, Inc., *
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20
***************************************************************************/
21
22
#ifndef FIFE_RESOURE_H
23
#define FIFE_RESOURE_H
24
25
// Standard C++ library includes
26
27
// 3rd party library includes
28
29
// FIFE includes
30
// These includes are split up in two parts, separated by one empty line
31
// First block: files included from the FIFE root src directory
32
// Second block: files included from the same folder
33
#include "resource_location.h"
34
35
namespace
FIFE {
36
37
class
IReferenceCounted {
38
public
:
39
virtual
~IReferenceCounted() { }
40
47
virtual
void
addRef() = 0;
48
52
virtual
void
decRef() = 0;
53
57
virtual
unsigned
int
getRefCount() = 0;
58
};
59
63
class
IResource
:
public
virtual
IReferenceCounted {
64
public
:
65
virtual
~
IResource
() { }
66
69
virtual
const
ResourceLocation
&
getResourceLocation
() = 0;
70
virtual
const
std::string& getResourceFile() = 0;
71
74
virtual
void
setResourceLocation
(
const
ResourceLocation
& location) = 0;
75
virtual
void
setResourceFile(
const
std::string& filename) = 0;
76
79
virtual
int
getPoolId
() = 0;
80
virtual
void
setPoolId(
int
poolid) = 0;
81
};
82
87
class
ResourceLoader
{
88
public
:
89
virtual
~
ResourceLoader
() { };
90
virtual
IResource
* loadResource(
const
ResourceLocation
& location) = 0;
91
};
92
95
class
ResourceSaver
{
96
public
:
97
virtual
~
ResourceSaver
() { };
98
99
virtual
void
save(
const
ResourceLocation
& location,
IResource
* resource) = 0;
100
virtual
void
save(
const
std::string& filename,
IResource
* resource) { save(
ResourceLocation
(filename), resource); }
101
};
102
}
103
104
#endif
engine
core
util
resource
resource.h
Generated on Fri Jun 8 2012 20:34:14 for FIFE by
1.8.1