没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
主要的头文件有以下几个:
在这些头文件 提供了对上层的接口,而其他的几个头文件都是提供一些接口类
(即包含了纯虚函数的类),这些接口类必须被实现类继承才能够使用。
整个 在运行的时候,可以大致上分成 和 两个部分,它们分别在两
个进程中运行,它们之间使用 机制实现进程间通讯。这样在客户端调用接口,功
能则在服务器中实现,但是在客户端中调用就好像直接调用服务器中的功能,进程间通讯
的部分对上层程序不可见。
从框架结构上来看,、 和 三个类定义
了 的接口和架构, 和 两个文件用于
架构的实现, 的具体功能在下层调用硬件相关的接口来实现。
从 的整体结构上,类 是整个系统核心, 类提供了 主
要功能的接口,在客户端方面调用, 是 服务,它通过调用实际
的 硬件接口来实现功能。事实上,图中红色虚线框的部分都是 程序的
框架部分,它主要利用了 的系统的 机制来完成通讯。蓝色的部分通过调
用 硬件相关的接口完成具体的 服务功能,其它的部分是为上层的
程序提供 接口。在整体结构上,左边可以视为一个客户端,右边是一个可以视为服务
器,二者通过 的 来实现进程间的通讯。
2.2 头文件 ICameraClient.h
用于描述一个 客户端的接口,定义如下所示:
java 代码:
!"#
$ %
& "#!
' ()*+),)-,-)+.)/01
2 " "#3/0451
6 "#3/ 789"0451
: ";<#3/ 789"0451
= "#3/ 7890451
> "#3/ " ,0451
5 ""." #3/#" 0451
?1
$
& !"#78
' %
2 "#!
6 " " ,- /"&$,@
: 9@
= A@
> "&$,B< 4501
$5 ?1
$
$$
复制代码
在定义中,类继承 ,并定义了一个 客户端的接口,
继承了 78,这是为基于 的基础
类 机制实现在进程通讯而构建的。根据 类模版的定义
78类相当于双继承了 和 。
这个类的主要接口是几个回调函数 "#3、#3 和
;<#3 等,它们在相应动作发生的时候被调用。作为 的“客户端”,需要
自己实现几个回调函数,让服务器程序去“间接地”调用它们。
2.3 头文件 Camera.h
是 对外的接口头文件,它被实现 的文件
,, 所调用。 最主要是定义了一个
类:
java 代码:
!"#@"#!!
(+
$ %
& "#!
' 78/01
2 C/01
6 /01
: " ,<" /0%"" 1?
= " , ( / 7"89 "01
> " , /01
5 /01
" ,"." /01
$ " ,3"/01
& " , / <=9 01
' <=< /0 1
2 "#3/ ",#3#@A301
6 +#3/,#3#@A301
: <#3/,#3#@A301
= .#3/,#3#@A301
> )#3/,#3#@A301
$5 "." #3/"" ,#3#@A301
$ DD
$$ " "#3/01
$& "#3/ 789"01
$' ";<#3/ 789"01
$2 "#3/ 78901
$6 "#3/ " ,01
$: ""." #3/#" 01
$= DDEE
$> ?
&5
&
复制代码
从 接 口 中 可 以 看 出 类 刚 好 实 现 了 一 个 的 基 本 操 作 , 例 如 播 放
( )、停止( )、暂停(3")等。在 类中
/0是一个静态函数,它用于得到一个 的实例。在这个类中,具有设置回
调函数的几个函数: "#3、 +#3 和 <#3 等,
这几个函数是为了提供给上层使用,上层利用这几个设置回调函数,这些回调函数在相应
的 回 调 函 数 中 调 用 , 例 如 使 用 "#3 设 置 的 回 调 函 数 指 针 被
"#3 所调用。
在定义中,类双继承了 和 (+,并定义
了 一 个 客 户 端 的 接 口 , 继 承 了
78,这是为基于 的基础类 机制实现在进程
通 讯 而 构 建 的 。 事 实 上 , 根 据 类 模 版 的 定 义
78类相当于双继承了 和 。这
是 一种常用的定义方式。
继承了 (F 类之后,这样当这个类作为 使用的时候,当这个
即将 ( 的时候被调用其中的 #( 函数。继承这个类基本上实现了一个回调函
数的功能。
$'头文件
描述的内容是一个实现 功能的接口,其定义如下所示:
java 代码:
!"#
$ %
& "#!
' ()*+),)-,-)+.)/01
2 " /0451
6 " " , ( / 7"89 "04
51
: " .#3/# 0451
= " " , /0451
> " /0451
5 " " ,"." /0451
" " ,3"/0451
$ " " , / <=9 0451
& "<=< /0 451
' ?1
2 !"#78
6 %
: "#!
= " " ,- /"&$,@
> 9@
$5 A@
$ "&$,B< 4501
$$ ?1
$&
$'
复制代码
。 描述的内容是一个实现 功能的接口,其定义如下所示:
在 类中,主要定义 的功能接口,这个类必须被继承才能够使用。值
得注意的是,这些接口和 类的接口有些类似,但是它们并没有直接的关系。事实
上,在 类的各种实现中,一般都会通过调用 类的实现类来完成。
$。2头文件 。
。 用于描述一个 的服务,定义方式如下所示:
java 代码:
!"#
$ %
& "#!
' ()*+),)-,-)+.)/01
2 " 78/ 789
0451
6 ?1
: !"#78
= %
> "#!
5 " " ,- /"&$,@
9@
$ A@
& "&$,B< 4501
' ?1
2
6
复制代码
由于具有纯虚函数, 以及 必须被继承实现才能够
使用,在 只定义了一个 ()接口,它的返回值的类型是
78,这个 是提供实现功能的接口。注意, 只有
连接函数 (),没有断开函数,断开的功能由 接口来提供。
剩余49页未读,继续阅读
资源评论
newpb80
- 粉丝: 18
- 资源: 213
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功