dynamicfactory.cpp
来自「网络游戏通用架构, 这是基于boost和libevent写的一个程序」· C++ 代码 · 共 72 行
CPP
72 行
#include "dynamicfactory.h"
#include "factory.h"
DynamicFactory::DynamicFactory( const string& __filename, const string& __getFactory_func_name )
: _filename(__filename), _getFactory_func_name(__getFactory_func_name)
{
_factory= NULL;
}
DynamicFactory::~DynamicFactory()
{
unload();
}
bool DynamicFactory::load(void)//return true if succeeded
{
if( !_factory ){
bool ret= _lib.load( _filename );
if( ret ){//loaded
GetFactoryFunc getFactory= static_cast<GetFactoryFunc>( _lib.getSymbol( _getFactory_func_name ) );
if( getFactory ){
_factory= getFactory();
if( _factory ){
return true;
}
}
}
}
return false;
}
void* DynamicFactory::newInstance( const string& __name ){ if( _factory ){ return _factory->newInstance( __name ); }else{ return NULL; }}void* DynamicFactory::newInstance( const int __type ){ if( _factory ){ return _factory->newInstance( __type ); }else{ return NULL; }}void DynamicFactory::parse_types( string& __typetab_filename ){ if( _factory ){ _factory->parse_types( __typetab_filename ); }}void DynamicFactory::unload(void)
{
_factory= NULL;
_lib.unload();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?