X3插件框架发布v1.1.3
今天发布了v1.1.3,可以通过下面任意一种方法获取最新代码:
SVN: https://x3c.svn.sourceforge.net/svnroot/x3c/trunk (不包含log4cplus源码和cppunit头文件)
下载zip: http://sourceforge.net/projects/x3c/files/x3c-1.1/ (x3c-1.1.3.zip,包含完整代码)
相对于v1.1.2的主要改动内容:
1、修正Ix_ConfigData和Cx_ConfigSection的返回值,返回的是输入的对象,避免跨动态库时对局部对象进行拷贝构造时失败;
2、增加Ix_StringCoding接口,获取MD5和Base64串;
3、部分完善pkg_Platform下的ATLCOM插件;
4、在插件加载接口中增加是否允许延时加载的参数;
5、允许在一个进程中有多个插件管理器的程序模块;
X3 C++ PluginFramework
------v1.1.3------
2011-08-03
* Change function name of Ix_Object.
* Change plugin version to 1.0.1.3.
* Fix Ix_ConfigData and Cx_ConfigSection: Cx_Ptr& GetSection(Cx_Ptr& newnode, ...)
2011-07-21
* Add Ix_StringCoding (about MD5 and Base64) in TextUtility plugin.
2011-07-18
* Add parameter 'enableDelayLoading' in Ix_PluginLoader.
* Enable multiple hosts of plugin manager in PluginManager.h
* Add Cx_ConfigTransaction(Ix_ConfigData* p).
* Enable COM plugin to load other plugins.
2011-07-14
* Add 'x3core' ATLCOM project.
* The default path of GetAppWorkPath() is %LocalAppData% on Vista
and later, otherwise is the executable file's folder.
------v1.1.2------
2011-07-10
* Add UtilFunc/LoadDllHelper.h
* Add ComHook plugin and TestPlatform to hook CoCreateInstance on Windows.
* COM plugin is marked as delay-loading plugin.
* Include winver.h in *.rc
2011-07-08
* Refact and optimize delay-loading code in PluginManager.
Call AddObserverPlugin() only when plugin is loading.
* Move interface file to Interface\ObserverExample in ChangeObserverExample.
* Add a test case for observer delay-load feature.
* Add class cache UML diagram.
------v1.1.1------
2011-07-05
* Add UML diagram.
* Remove 'ASSERT(0 == nul)' in XComPtr.h
* Add notes in Ix_PluginLoader.h and XModuleImpl.h
2011-07-04
* Add GetLocalAppDataPath() using SHGetKnownFolderPath for Vista, Win7 and Win2008.
* Move delay-load implement code into DelayLoad.cpp
2011-07-01
* Support delay-load feature for logging observer plugins.
------v1.1.0------
2011-06-30
* Remove RTTI (not use dynamic_cast).
* Add XClassMacro.h
* Remove FileUtility/Plugin.cpp
* Add namespace for GetAppWorkPath().