diff --git a/inc/hgl/plugin/PlugInManage.h b/inc/hgl/plugin/PlugInManage.h index ab0bf53..3a60c5e 100644 --- a/inc/hgl/plugin/PlugInManage.h +++ b/inc/hgl/plugin/PlugInManage.h @@ -2,14 +2,14 @@ #define HGL_PLUG_IN_MANAGE_INCLUDE #include -#include +#include #include namespace hgl { /** * 插件管理 */ - class PlugInManage:public ResManage + class PlugInManage:public ObjectManage { OSString name; ///<插件类目名称(必须符合代码名称规则) @@ -28,7 +28,7 @@ namespace hgl PlugIn *LoadPlugin (const OSString &,const OSString &); ///<加载一个外部插件,明确指定全路径文件名 PlugIn *LoadPlugin (const OSString &); ///<加载一个外部插件,自行查找 bool UnloadPlugin(const OSString &); ///<释放一个外部插件 - };//class PlugInManage:public ResManage + };//class PlugInManage:public ObjectManage /** * 插件注册模板 diff --git a/inc/hgl/type/ResManage.cpp b/inc/hgl/type/ObjectManage.cpp similarity index 78% rename from inc/hgl/type/ResManage.cpp rename to inc/hgl/type/ObjectManage.cpp index 351c3ab..7e4b255 100644 --- a/inc/hgl/type/ResManage.cpp +++ b/inc/hgl/type/ObjectManage.cpp @@ -1,17 +1,17 @@ -#ifndef HGL_RES_MANAGE_CPP -#define HGL_RES_MANAGE_CPP +#ifndef HGL_OBJECT_MANAGE_CPP +#define HGL_OBJECT_MANAGE_CPP -#include +#include namespace hgl { template - ResManage::~ResManage() + ObjectManage::~ObjectManage() { Clear(); } template - void ResManage::Clear() + void ObjectManage::Clear() { int n=items.GetCount(); @@ -26,7 +26,7 @@ namespace hgl } template - void ResManage::ClearFree() + void ObjectManage::ClearFree() { int n=items.GetCount(); @@ -43,7 +43,7 @@ namespace hgl } template - bool ResManage::Add(const K &flag,V *obj) + bool ObjectManage::Add(const K &flag,V *obj) { if(!obj)return(false); @@ -55,7 +55,7 @@ namespace hgl } template - V *ResManage::Find(const K &flag) + V *ObjectManage::Find(const K &flag) { int index=items.Find(flag); @@ -68,7 +68,7 @@ namespace hgl } template - V *ResManage::Get(const K &flag) + V *ObjectManage::Get(const K &flag) { int index=items.Find(flag); @@ -88,7 +88,7 @@ namespace hgl * 确认指定数据是否存在 */ template - bool ResManage::ValueExist(V *value) + bool ObjectManage::ValueExist(V *value) { return(items.FindByValue(value)!=-1); } @@ -101,7 +101,7 @@ namespace hgl * @param 是否增加引用计数 */ template - bool ResManage::GetKeyByValue(V *value,K *key,uint *ref_count,bool inc_ref_count) + bool ObjectManage::GetKeyByValue(V *value,K *key,uint *ref_count,bool inc_ref_count) { int index=items.FindByValue(value); @@ -122,7 +122,7 @@ namespace hgl } template - int ResManage::ReleaseBySerial(int index,bool zero_clear) + int ObjectManage::ReleaseBySerial(int index,bool zero_clear) { if(index==-1) { @@ -148,15 +148,15 @@ namespace hgl } template - int ResManage::Release(const K &flag,bool zero_clear) + int ObjectManage::Release(const K &flag,bool zero_clear) { return ReleaseBySerial(items.Find(flag),zero_clear); } template - int ResManage::Release(V *td,bool zero_clear) + int ObjectManage::Release(V *td,bool zero_clear) { return ReleaseBySerial(items.FindByValue(td),zero_clear); } }//namespace hgl -#endif//HGL_RES_MANAGE_CPP +#endif//HGL_OBJECT_MANAGE_CPP diff --git a/inc/hgl/type/ResManage.h b/inc/hgl/type/ObjectManage.h similarity index 68% rename from inc/hgl/type/ResManage.h rename to inc/hgl/type/ObjectManage.h index 2845fe1..cc77782 100644 --- a/inc/hgl/type/ResManage.h +++ b/inc/hgl/type/ObjectManage.h @@ -1,5 +1,4 @@ -#ifndef HGL_RES_MANAGE_INCLUDE -#define HGL_RES_MANAGE_INCLUDE +#pragma once #include namespace hgl @@ -17,9 +16,9 @@ namespace hgl }; /** - * 资源管理器,它没有缓冲管理,仅仅是管理数据,并保证不会被重复加载 + * 对象管理器,它没有缓冲管理,仅仅是管理数据,并保证不会被重复加载 */ - template class ResManage + template class ObjectManage { protected: @@ -31,11 +30,11 @@ namespace hgl protected: - virtual void Clear(V *obj){delete obj;} ///<资源释放虚拟函数(缺省为直接delete对象) + virtual void Clear(V *obj){delete obj;} ///<对象释放虚拟函数(缺省为直接delete对象) public: - virtual ~ResManage(); + virtual ~ObjectManage(); virtual void Clear(); ///<清除所有数据 virtual void ClearFree(); ///<清除所有引用计数为0的数据 @@ -51,19 +50,19 @@ namespace hgl virtual int Release(const K &,bool zero_clear=false); ///<释放一个数据 virtual int Release(V *,bool zero_clear=false); ///<释放一个数据 - };//template class ResManage + };//template class ObjectManage /** - * 使用int类做数标致的资源管理器 + * 使用整型数据类做数标识的对象管理器 */ - template class IDResManage:public ResManage + template class IDObjectManage:public ObjectManage { K id_count=0; public: - using ResManage::ResManage; - virtual ~IDResManage()=default; + using ObjectManage::ObjectManage; + virtual ~IDObjectManage()=default; virtual K Add(V *value) { @@ -73,19 +72,19 @@ namespace hgl K key; uint count; - if(ResManage::GetKeyByValue(value,&key,&count,true)) + if(ObjectManage::GetKeyByValue(value,&key,&count,true)) return key; } - if(!ResManage::Add(id_count,value)) + if(!ObjectManage::Add(id_count,value)) return(-1); return id_count++; } - };//template class IDResManage:public ResManage + };//template class IDObjectManage:public ObjectManage - template using ID32ResManage=IDResManage; - template using ID64ResManage=IDResManage; + template using U32ObjectManage=IDObjectManage; + template using U64ObjectManage=IDObjectManage; }//namespace hgl -#include -#endif//HGL_RES_MANAGE_INCLUDE + +#include diff --git a/inc/hgl/type/ResPoolManage.h b/inc/hgl/type/ResPoolManage.h index 01f2dfd..c1079a9 100644 --- a/inc/hgl/type/ResPoolManage.h +++ b/inc/hgl/type/ResPoolManage.h @@ -2,11 +2,11 @@ #define HGL_RES_POOL_MANAGE_INCLUDE #include -#include +#include namespace hgl { - template class _ResPoolManage:public ResManage + template class _ResPoolManage:public ObjectManage { protected: @@ -21,7 +21,7 @@ namespace hgl _ResPoolManage(OP *op):data_pool(op){} virtual ~_ResPoolManage()=default; - };//template class _ResPoolManage:public ResManage + };//template class _ResPoolManage:public ObjectManage /** * 资源池是Pool/ResManage两个模板的组合应用