• 其他语言



管理您的数字内容
页面和feed选项
打印
收藏此页
Digg此页 | 添加到您的del.icio.us帐号
目录

信息管理平台框架架构
信息管理平台框架由两个目标创建而成。第一个是创建一个具有本文描述的一些特性的工作实例。第二个是开发一个框架,以便集成针对未来内容管理的不同实例和技术。尽管并非所有的功能在当前的发行版中都可用,但更新版很快就可获得。任何人都可通过下载当前源代码,然后将任意修改或反馈发送至内容管理论坛richard.winterton@intel.com,来为此开发框架助一臂之力。任何提交至论坛或邮件,或从该项目中取用的源代码,均可作为实例免费使用和发布,或在一个不担保其完整或正确的产品中免费使用和发布。本框架由三个基本文件构成:可执行框架、框架加载器(loader)以及框架配置文件。

将信息管理平台框架(IMPF)被设计为一款简单便携的框架,支持不同类型的插件或模块。每个插件都是一个独立的模块。它们由平台框架加载器加载,并与可执行的信息平台管理驻留于同一个处理流程空间。模块需符合下列要求,以便与框架相匹配:

  • 需在 IMPF 配置文件(mpfconfig.xml)中定义模块。
  • 模块中必须包含与 IMPF 初始化函数要求相符的输出函数
  • 支持菜单选项的模块应有一个 Execute(执行)方法,该方法在选择菜单选项被选中时激活

信息平台管理框架

信息平台管理框架(impf.exe)是一个简单的 Windows* 应用,该应用创建一个托盘图标,并且当其被点击时,将显示出与插件(由信息平台加载器加载)有关的菜单条目。当选中菜单中的某一选项时,源于相应插件的基类方法将执行。所有其它方法或接口均为特殊插件。

信息平台管理加载器

信息平台管理加载器(impl.dll)仅是一个插件加载器。该加载器会读出配置文件并加载文件中的指定模块。模块被加载后,即调用初始化函数(Initialize function)。这就为加载模块提供一个机会,以执行发生在 DllMain(最好不用来执行扩展初始化)中的标准操作系统初始化以外的任意初始化操作。

插件初始化函数

每个插件都需要输出一个初始化函数。初始化函数负责输出那些框架内其它插件所使用的类。此外,插件也负责提供一个独特的“FriendlyName(友好名称,即便于理解的名称)”以便在框架和其它插件中用作标识符(identifier)。

typedef struct _LOADED_CLASSES
{
	string FriendlyName;
	string Owner;
	int Instance;
	int Menu;
	int Loaded;
	BaseLoadClass *pBaseClass;
	void *pDerivedClass;
} *PLOADED_CLASSES, LOADED_CLASSES;

int Initialize(vector<PLOADED_CLASSES> *pClasses);

框架加载器在启动时调用初始化函数,以便将经过验证的插件加载到框架中。应为插件模块提供一"FriendName",以便其它模块可以使用并访问它。在正在运行的程序中,Instance 值是针对本组类的一个独特数字。框架使用 Menu 标记,以便从“框架容器”中弹出一个菜单选项,该“框架容器”支持用户弹出用户界面,支持配置插件模块。FriendlyName 则作为弹出菜单选项的标题。加载标记是框架在启动时加载模块的一个标志。LOAD_CLASS 结构中的最终参数(final parameter)是一个指向插件所定义的类的空指针,该类可能由一个在框架内与其它插件共用的通用基类衍生而来。
上一部分7  8  9  下一部分

第 6 页, 共 9 页