Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef RESOURCE_PROVIDER_H
00031 #define RESOURCE_PROVIDER_H
00032
00038 #include "ApexUsingNamespace.h"
00039
00040 namespace nvidia
00041 {
00042 namespace apex
00043 {
00044
00045 class ResourceCallback;
00046
00047 PX_PUSH_PACK_DEFAULT
00048
00056 class ResourceProvider
00057 {
00058 public:
00066 virtual void registerCallback(ResourceCallback* impl) = 0;
00067
00071 virtual void setResource(const char* nameSpace, const char* name, void* resource, bool incRefCount = false) = 0;
00072
00073
00077 virtual void setResourceU32(const char* nameSpace, const char* name, uint32_t id, bool incRefCount = false) = 0;
00078
00089 virtual void* getResource(const char* nameSpace, const char* name) = 0;
00090
00095 virtual uint32_t releaseAllResourcesInNamespace(const char* nameSpace) = 0;
00096
00101 virtual uint32_t releaseResource(const char* nameSpace, const char* name) = 0;
00102
00106 virtual bool findRefCount(const char* nameSpace, const char* name, uint32_t& refCount) = 0;
00107
00114 virtual void* findResource(const char* nameSpace, const char* name) = 0;
00115
00119 virtual uint32_t findResourceU32(const char* nameSpace, const char* name) = 0;
00120
00124 virtual void** findAllResources(const char* nameSpace, uint32_t& count) = 0;
00125
00129 virtual const char** findAllResourceNames(const char* nameSpace, uint32_t& count) = 0;
00130
00134 virtual const char** findNameSpaces(uint32_t& count) = 0;
00135
00139 virtual void dumpResourceTable() = 0;
00140
00150 virtual bool isCaseSensitive() = 0;
00151 };
00152
00153 PX_POP_PACK
00154
00155 }
00156 }
00157
00158 #endif // RESOURCE_PROVIDER_H