orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
orxResource.h
Go to the documentation of this file.
1/* Orx - Portable Game Engine
2 *
3 * Copyright (c) 2008- Orx-Project
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 *
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 *
21 * 3. This notice may not be removed or altered from any source
22 * distribution.
23 */
24
31
39
40#ifndef _orxRESOURCE_H_
41#define _orxRESOURCE_H_
42
43
44#include "orxInclude.h"
45
46
49#define orxRESOURCE_KZ_CONFIG_SECTION "Resource"
50#define orxRESOURCE_KZ_CONFIG_WATCH_LIST "WatchList"
51
52#define orxRESOURCE_KC_LOCATION_SEPARATOR ':'
53
54#define orxRESOURCE_KZ_DEFAULT_STORAGE "."
55#define orxRESOURCE_KZ_TYPE_TAG_FILE "file"
56#define orxRESOURCE_KZ_TYPE_TAG_MEMORY "mem"
57
58
61typedef void (orxFASTCALL *orxRESOURCE_OP_FUNCTION)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer, void *_pContext);
62
63
66typedef const orxSTRING (orxFASTCALL *orxRESOURCE_FUNCTION_LOCATE)(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName, orxBOOL _bRequireExistence);
67typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_GET_TIME)(const orxSTRING _zLocation);
68typedef orxHANDLE (orxFASTCALL *orxRESOURCE_FUNCTION_OPEN)(const orxSTRING _zLocation, orxBOOL _bEraseMode);
69typedef void (orxFASTCALL *orxRESOURCE_FUNCTION_CLOSE)(orxHANDLE _hResource);
70typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_GET_SIZE)(orxHANDLE _hResource);
71typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_SEEK)(orxHANDLE _hResource, orxS64 _s64Offset, orxSEEK_OFFSET_WHENCE _eWhence);
72typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_TELL)(orxHANDLE _hResource);
73typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_READ)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer);
74typedef orxS64 (orxFASTCALL *orxRESOURCE_FUNCTION_WRITE)(orxHANDLE _hResource, orxS64 _s64Size, const void *_pBuffer);
75typedef orxSTATUS (orxFASTCALL *orxRESOURCE_FUNCTION_DELETE)(const orxSTRING _zLocation);
76
94
108
111typedef struct __orxRESOURCE_EVENT_PAYLOAD_t
112{
113 orxS64 s64Time;
114 const orxSTRING zLocation;
116 orxSTRINGID stGroupID;
117 orxSTRINGID stStorageID;
118 orxSTRINGID stNameID;
119
121
122
125extern orxDLLAPI void orxFASTCALL orxResource_Setup();
126
131
134extern orxDLLAPI void orxFASTCALL orxResource_Exit();
135
136
140extern orxDLLAPI orxU32 orxFASTCALL orxResource_GetGroupCount();
141
146extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetGroup(orxU32 _u32Index);
147
148
155extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_AddStorage(const orxSTRING _zGroup, const orxSTRING _zStorage, orxBOOL _bAddFirst);
156
162extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_RemoveStorage(const orxSTRING _zGroup, const orxSTRING _zStorage);
163
168extern orxDLLAPI orxU32 orxFASTCALL orxResource_GetStorageCount(const orxSTRING _zGroup);
169
175extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetStorage(const orxSTRING _zGroup, orxU32 _u32Index);
176
181
182
188extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_Locate(const orxSTRING _zGroup, const orxSTRING _zName);
189
196extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_LocateInStorage(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName);
197
202extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetPath(const orxSTRING _zLocation);
203
208extern orxDLLAPI const orxRESOURCE_TYPE_INFO *orxFASTCALL orxResource_GetType(const orxSTRING _zLocation);
209
210
215extern orxDLLAPI orxS64 orxFASTCALL orxResource_GetTime(const orxSTRING _zLocation);
216
222extern orxDLLAPI orxHANDLE orxFASTCALL orxResource_Open(const orxSTRING _zLocation, orxBOOL _bEraseMode);
223
227extern orxDLLAPI void orxFASTCALL orxResource_Close(orxHANDLE _hResource);
228
233extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetLocation(orxHANDLE _hResource);
234
239extern orxDLLAPI orxS64 orxFASTCALL orxResource_GetSize(orxHANDLE _hResource);
240
247extern orxDLLAPI orxS64 orxFASTCALL orxResource_Seek(orxHANDLE _hResource, orxS64 _s64Offset, orxSEEK_OFFSET_WHENCE _eWhence);
248
253extern orxDLLAPI orxS64 orxFASTCALL orxResource_Tell(orxHANDLE _hResource);
254
263extern orxDLLAPI orxS64 orxFASTCALL orxResource_Read(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer, orxRESOURCE_OP_FUNCTION _pfnCallback, void *_pContext);
264
273extern orxDLLAPI orxS64 orxFASTCALL orxResource_Write(orxHANDLE _hResource, orxS64 _s64Size, const void *_pBuffer, orxRESOURCE_OP_FUNCTION _pfnCallback, void *_pContext);
274
279extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_Delete(const orxSTRING _zLocation);
280
281
286extern orxDLLAPI orxU32 orxFASTCALL orxResource_GetPendingOpCount(const orxHANDLE _hResource);
287
292
293
299
304extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_UnregisterType(const orxSTRING _zTypeTag);
305
309extern orxDLLAPI orxU32 orxFASTCALL orxResource_GetTypeCount();
310
315extern orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetTypeTag(orxU32 _u32Index);
316
317
322extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_Sync(const orxSTRING _zGroup);
323
328extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_ClearCache(const orxSTRING _zGroup);
329
334extern orxDLLAPI orxU32 orxFASTCALL orxResource_GetCacheCount(const orxSTRING _zGroup);
335
344extern orxDLLAPI orxHANDLE orxFASTCALL orxResource_GetNextCachedLocation(const orxSTRING _zGroup, orxHANDLE _hIterator, const orxSTRING *_pzLocation, const orxSTRING *_pzStorage, const orxSTRING *_pzName);
345
355extern orxDLLAPI orxSTATUS orxFASTCALL orxResource_SetMemoryResource(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName, orxS64 _s64Size, const void *_pBuffer);
356
357#endif /* _orxRESOURCE_H_ */
358
#define orxDLLAPI
Definition orxDecl.h:381
orxDLLAPI const orxSTRING orxFASTCALL orxResource_Locate(const orxSTRING _zGroup, const orxSTRING _zName)
orxDLLAPI orxU32 orxFASTCALL orxResource_GetGroupCount()
void(orxFASTCALL * orxRESOURCE_FUNCTION_CLOSE)(orxHANDLE _hResource)
Definition orxResource.h:69
orxDLLAPI orxHANDLE orxFASTCALL orxResource_Open(const orxSTRING _zLocation, orxBOOL _bEraseMode)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_READ)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer)
Definition orxResource.h:73
orxDLLAPI orxSTATUS orxFASTCALL orxResource_Sync(const orxSTRING _zGroup)
orxDLLAPI const orxRESOURCE_TYPE_INFO *orxFASTCALL orxResource_GetType(const orxSTRING _zLocation)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_GET_SIZE)(orxHANDLE _hResource)
Definition orxResource.h:70
orxHANDLE(orxFASTCALL * orxRESOURCE_FUNCTION_OPEN)(const orxSTRING _zLocation, orxBOOL _bEraseMode)
Definition orxResource.h:68
orxDLLAPI void orxFASTCALL orxResource_Close(orxHANDLE _hResource)
orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetPath(const orxSTRING _zLocation)
orxDLLAPI orxSTATUS orxFASTCALL orxResource_RemoveStorage(const orxSTRING _zGroup, const orxSTRING _zStorage)
orxDLLAPI orxHANDLE orxFASTCALL orxResource_GetNextCachedLocation(const orxSTRING _zGroup, orxHANDLE _hIterator, const orxSTRING *_pzLocation, const orxSTRING *_pzStorage, const orxSTRING *_pzName)
orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetLocation(orxHANDLE _hResource)
orxSTATUS(orxFASTCALL * orxRESOURCE_FUNCTION_DELETE)(const orxSTRING _zLocation)
Definition orxResource.h:75
void(orxFASTCALL * orxRESOURCE_OP_FUNCTION)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer, void *_pContext)
Definition orxResource.h:61
orxDLLAPI orxSTATUS orxFASTCALL orxResource_ClearCache(const orxSTRING _zGroup)
orxDLLAPI orxS64 orxFASTCALL orxResource_Write(orxHANDLE _hResource, orxS64 _s64Size, const void *_pBuffer, orxRESOURCE_OP_FUNCTION _pfnCallback, void *_pContext)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_SEEK)(orxHANDLE _hResource, orxS64 _s64Offset, orxSEEK_OFFSET_WHENCE _eWhence)
Definition orxResource.h:71
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_TELL)(orxHANDLE _hResource)
Definition orxResource.h:72
orxDLLAPI orxU32 orxFASTCALL orxResource_GetCacheCount(const orxSTRING _zGroup)
orxDLLAPI orxS64 orxFASTCALL orxResource_Tell(orxHANDLE _hResource)
orxDLLAPI orxSTATUS orxFASTCALL orxResource_RegisterType(const orxRESOURCE_TYPE_INFO *_pstInfo)
orxDLLAPI orxSTATUS orxFASTCALL orxResource_SetMemoryResource(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName, orxS64 _s64Size, const void *_pBuffer)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_GET_TIME)(const orxSTRING _zLocation)
Definition orxResource.h:67
orxDLLAPI orxU32 orxFASTCALL orxResource_GetTotalPendingOpCount()
orxDLLAPI orxS64 orxFASTCALL orxResource_GetTime(const orxSTRING _zLocation)
orxDLLAPI orxS64 orxFASTCALL orxResource_Read(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer, orxRESOURCE_OP_FUNCTION _pfnCallback, void *_pContext)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_WRITE)(orxHANDLE _hResource, orxS64 _s64Size, const void *_pBuffer)
Definition orxResource.h:74
orxDLLAPI orxU32 orxFASTCALL orxResource_GetTypeCount()
orxDLLAPI orxSTATUS orxFASTCALL orxResource_Init()
orxDLLAPI orxSTATUS orxFASTCALL orxResource_Delete(const orxSTRING _zLocation)
orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetTypeTag(orxU32 _u32Index)
orxDLLAPI orxSTATUS orxFASTCALL orxResource_UnregisterType(const orxSTRING _zTypeTag)
orxDLLAPI void orxFASTCALL orxResource_Setup()
const orxSTRING(orxFASTCALL * orxRESOURCE_FUNCTION_LOCATE)(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName, orxBOOL _bRequireExistence)
Definition orxResource.h:66
orxDLLAPI orxU32 orxFASTCALL orxResource_GetPendingOpCount(const orxHANDLE _hResource)
orxDLLAPI orxS64 orxFASTCALL orxResource_Seek(orxHANDLE _hResource, orxS64 _s64Offset, orxSEEK_OFFSET_WHENCE _eWhence)
orxRESOURCE_EVENT
Definition orxResource.h:98
orxDLLAPI orxSTATUS orxFASTCALL orxResource_ReloadStorage()
orxDLLAPI orxSTATUS orxFASTCALL orxResource_AddStorage(const orxSTRING _zGroup, const orxSTRING _zStorage, orxBOOL _bAddFirst)
orxDLLAPI orxS64 orxFASTCALL orxResource_GetSize(orxHANDLE _hResource)
orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetStorage(const orxSTRING _zGroup, orxU32 _u32Index)
orxDLLAPI const orxSTRING orxFASTCALL orxResource_LocateInStorage(const orxSTRING _zGroup, const orxSTRING _zStorage, const orxSTRING _zName)
orxDLLAPI void orxFASTCALL orxResource_Exit()
orxDLLAPI const orxSTRING orxFASTCALL orxResource_GetGroup(orxU32 _u32Index)
orxDLLAPI orxU32 orxFASTCALL orxResource_GetStorageCount(const orxSTRING _zGroup)
@ orxRESOURCE_EVENT_NONE
@ orxRESOURCE_EVENT_NUMBER
@ orxRESOURCE_EVENT_REMOVE
@ orxRESOURCE_EVENT_ADD
@ orxRESOURCE_EVENT_UPDATE
Definition orxResource.h:99
orxSEEK_OFFSET_WHENCE
Definition orxType.h:184
void * orxHANDLE
Definition orxType.h:166
orxSTATUS
Definition orxType.h:270
const orxRESOURCE_TYPE_INFO * pstTypeInfo
const orxSTRING zLocation
orxRESOURCE_FUNCTION_CLOSE pfnClose
Definition orxResource.h:85
orxRESOURCE_FUNCTION_READ pfnRead
Definition orxResource.h:89
orxRESOURCE_FUNCTION_DELETE pfnDelete
Definition orxResource.h:91
orxRESOURCE_FUNCTION_GET_TIME pfnGetTime
Definition orxResource.h:83
orxRESOURCE_FUNCTION_WRITE pfnWrite
Definition orxResource.h:90
orxRESOURCE_FUNCTION_LOCATE pfnLocate
Definition orxResource.h:82
const orxSTRING zTag
Definition orxResource.h:81
orxRESOURCE_FUNCTION_SEEK pfnSeek
Definition orxResource.h:87
orxRESOURCE_FUNCTION_OPEN pfnOpen
Definition orxResource.h:84
orxRESOURCE_FUNCTION_GET_SIZE pfnGetSize
Definition orxResource.h:86
orxRESOURCE_FUNCTION_TELL pfnTell
Definition orxResource.h:88

Generated for orx by doxygen 1.8.11