Cogs.Core
Source
Resources
IResourceLoader.h
1
#pragma once
2
3
#include "Resources.h"
4
5
#include "Foundation/Platform/FileContents.h"
6
7
namespace
Cogs::Core
8
{
9
class
Context;
10
11
template
<
typename
ResourceType,
typename
LoadInfoType>
12
class
IResourceLoader
13
{
14
public
:
15
virtual
~IResourceLoader
() {}
16
17
virtual
bool
canLoad(
Context
* context,
const
LoadInfoType & loadInfo) = 0;
18
19
virtual
bool
load(
Context
* context,
const
LoadInfoType & loadInfo) = 0;
20
};
21
22
template
<
typename
ResourceType,
typename
LoadInfoType>
23
class
IAsyncResourceLoader
{
24
public
:
25
// Takes ownership of loadInfo
26
virtual
void
load(
Context
* context, LoadInfoType* loadInfo) = 0;
27
};
28
29
template
<
typename
ResourceType,
typename
LoadInfoType>
30
class
ILoadedResourceLoader
31
{
32
public
:
33
virtual
bool
load(
Context
* context,
const
LoadInfoType & loadInfo, std::unique_ptr<FileContents> contents) = 0;
34
};
35
36
template
<
typename
ResourceType,
typename
LoadInfoType>
37
class
ILoadedResourceViewLoader
38
{
39
public
:
40
virtual
bool
load(
Context
* context,
const
LoadInfoType& loadInfo,
const
void
* dataPtr,
size_t
dataSize) = 0;
41
};
42
43
}
Cogs::Core::Context
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition:
Context.h:83
Cogs::Core::IAsyncResourceLoader
Definition:
IResourceLoader.h:23
Cogs::Core::ILoadedResourceLoader
Definition:
IResourceLoader.h:31
Cogs::Core::ILoadedResourceViewLoader
Definition:
IResourceLoader.h:38
Cogs::Core::IResourceLoader
Definition:
IResourceLoader.h:13
Cogs::Core
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
Definition:
ComponentFunctions.h:10
Generated by
1.9.6