40#ifndef _orxRESOURCE_H_
41#define _orxRESOURCE_H_
49#define orxRESOURCE_KZ_CONFIG_SECTION "Resource"
50#define orxRESOURCE_KZ_CONFIG_WATCH_LIST "WatchList"
52#define orxRESOURCE_KC_LOCATION_SEPARATOR ':'
54#define orxRESOURCE_KZ_DEFAULT_STORAGE "."
55#define orxRESOURCE_KZ_TYPE_TAG_FILE "file"
56#define orxRESOURCE_KZ_TYPE_TAG_MEMORY "mem"
66typedef const orxSTRING (orxFASTCALL *
orxRESOURCE_FUNCTION_LOCATE)(
const orxSTRING _zGroup,
const orxSTRING _zStorage,
const orxSTRING _zName, orxBOOL _bRequireExistence);
79typedef struct __orxRESOURCE_TYPE_INFO_t
97typedef enum __orxRESOURCE_EVENT_t
111typedef struct __orxRESOURCE_EVENT_PAYLOAD_t
orxDLLAPI const orxSTRING orxFASTCALL orxResource_Locate(const orxSTRING _zGroup, const orxSTRING _zName)
orxDLLAPI orxU32 orxFASTCALL orxResource_GetGroupCount()
void(orxFASTCALL * orxRESOURCE_FUNCTION_CLOSE)(orxHANDLE _hResource)
orxDLLAPI orxHANDLE orxFASTCALL orxResource_Open(const orxSTRING _zLocation, orxBOOL _bEraseMode)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_READ)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer)
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)
orxHANDLE(orxFASTCALL * orxRESOURCE_FUNCTION_OPEN)(const orxSTRING _zLocation, orxBOOL _bEraseMode)
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)
void(orxFASTCALL * orxRESOURCE_OP_FUNCTION)(orxHANDLE _hResource, orxS64 _s64Size, void *_pBuffer, void *_pContext)
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)
orxS64(orxFASTCALL * orxRESOURCE_FUNCTION_TELL)(orxHANDLE _hResource)
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)
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)
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)
orxDLLAPI orxU32 orxFASTCALL orxResource_GetPendingOpCount(const orxHANDLE _hResource)
orxDLLAPI orxS64 orxFASTCALL orxResource_Seek(orxHANDLE _hResource, orxS64 _s64Offset, orxSEEK_OFFSET_WHENCE _eWhence)
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_NUMBER
@ orxRESOURCE_EVENT_REMOVE
@ orxRESOURCE_EVENT_UPDATE
const orxRESOURCE_TYPE_INFO * pstTypeInfo
const orxSTRING zLocation
orxRESOURCE_FUNCTION_CLOSE pfnClose
orxRESOURCE_FUNCTION_READ pfnRead
orxRESOURCE_FUNCTION_DELETE pfnDelete
orxRESOURCE_FUNCTION_GET_TIME pfnGetTime
orxRESOURCE_FUNCTION_WRITE pfnWrite
orxRESOURCE_FUNCTION_LOCATE pfnLocate
orxRESOURCE_FUNCTION_SEEK pfnSeek
orxRESOURCE_FUNCTION_OPEN pfnOpen
orxRESOURCE_FUNCTION_GET_SIZE pfnGetSize
orxRESOURCE_FUNCTION_TELL pfnTell