在brew里有有自己的接口机制,主要是AEE的,有些是可以看到源代码的,一般都是AEE定义接口OEM有源代码实现,很多时候是没有源代码的,brew也支持自己扩展接口,下面说一些我对接口扩展的一些理解。
接口一般都是通过这样的形式定义的:
第一步:定义函数指针
#define INHERIT_IFoo(iname) \ uint32 (*AddRef)(iname*);\ uint32 (*Release)(iname*);\ int (*QueryInterface)(iname *, AEECLSID, void **)此处是定义了一系列的函数指针,供外部接口调用。第二步:定义虚表及虚表结构体struct IFoo{ struct AEEVTBL(IFoo) *VT; void *Data;}这个是调用此接口用户要用到的结构体,其中VT是指向定义的一组函数指针的,Data是指向用户的数据的。第三步:生效(in my opinion)AEEINTERFACE_DEFINE(IFoo)这个是brew给的接口,看看api的解释吧:Uses an INHERIT_iname() macro and AEEINTERFACE() to define a standard BREW interface.大概的意思就是定义一组接口。有的人会问那函数是在那里实现的呢?刚才不是定义了AEEVTBL(IFoo)这样一个结构体吗?下面的使用就和结构体的使用类似了,例如:static AEEVTBL(IFoo) Funcs = {AddRef,//函数Release,//函数QueryInterface,//函数};Uint32 AddRef(void* po){}Uint32 Release(void *po){}Int QueryInterface(void *po,int clsid,void **ppi){}这样函数就实现了,再下来就是让他们关联起来:IFoo *pIFoo;pIFoo->VT = Funcs;这样就OK了。第四步:外部调用接口
这个就简单了,一组define就搞定的
#define Interface_AddRef(pMe) pMe->VT-> AddRef(pMe)
#define Interface_ Release(pMe) pMe->VT-> Release(pMe)
#define Interface_ QueryInterface(pMe,wparam,ppMe)
pMe->VT-> QueryInterface(pMe,wparam,ppMe)
这样接口的定义就完成了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chenmeimei_8899/archive/2009/03/11/3977538.aspx
分享到:
相关推荐
BREW 常用接口介绍BREW 常用接口介绍BREW 常用接口介绍
希望能对 希望能对BREW BREW初学者起到一定的帮助,加深对 初学者起到一定的帮助,加深对BREW BREW面向 面向对象接口机制的了解。该文档仅仅是笔者对 对象接口机制的了解。该文档仅仅是笔者对BREW BREW接口机 接口机...
BREW接口的继承和多态.pdf 一篇深入理解brew接口关联关系的文档 对于c语言的学习人员也非常有用
brew 多媒体接口,imedia接口,imediavideo接口
BREW开发培训系列——高级——BREW 常用接口介绍
BREW开发培训系列——高级——BREW多媒体接口
第3章 BREW多媒体接口 第4章 IVocoder接口介绍 第5章 ICamera接口 第6章 BREW 常用接口介绍 第7章 BREW 3.1 文件系统 第8章 BREW 3.1 SMS新接口使用方法 第9章 BREW 语音呼叫业务 第10章 BREW 3.1.5 SP01 触摸屏...
详细的描述了BREW开发细节,BREW各个接口,并通过代码详细解释
BREW的一些实用资料,包括BREW的中文手册,应用开发过程
第3章BREW多媒体接口 第4章IVocoder接口 第5章ICamera接口 第6章常用接口介绍 第7章BREW 3.1 文件系统 第8章BREW 3.1 SMS新接口使用方法 第9章BREW 语音呼叫业务 第10章BREW 3.1.5 SP01 触摸屏功能使用 第11章...
说明brew接口实现原理,和c++面向对象对比。
用C实现接口的例子,依照高通的brew编写,VC工程下通过编译,但是GCC下不行
详细介绍BREW开发的高级技巧,以及接口
Brew各类接口一些API的中文详细解析
Brew 指南Brew 指南Brew 指南Brew 指南Brew 指南Brew 指南
brew一些高级接口的讲解,主要用socket,camera,多媒体,短信,图像处理。。。
封装了brew的最新多线程接口的类,对学习BREW程序的有很大帮助
高通Brew平台ICamera接口相关资料
Brew平台多媒体,以及MDP方面的文档
基于BREW的铃音管理接口,帮助初学者参考