DirectFB 源码解读之初始化-10
来源:互联网 发布:淘宝苏宁易购是官网吗 编辑:程序博客网 时间:2024/05/22 14:27
转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)
(1)direct_modules_explore_directory():这个函数又出现了,它就是在指定的目录中搜索所有的动态链接库,依次打开这些库,将这些库的信息(主要是函数表)记录在一个结构中,并挂在一个链表里。
(2)init_devices():初始化input device。init_devices()的主体代码如下:
static void init_devices( CoreDFB *core )
{
}
上面有关fusion和reactor时,我们仍然只考虑单进程的情况。
在input_core_part初始化完成后,我们最终得到一个数据结构core_local, 将input drivers, input devices, reactors联系起来。其结构图如下:
有关上面的图, 有几点说明:
(1)DFB中的input driver 与gfx driver 类似,只是DFB中的一个概念,不是真正意义的设备驱动。而上图中的input driver和input device只是对真正设备和驱动的一个抽象,在DFB中也数据结构的形式,将它们串联起来。
分发这些事件。
(3)图中的reactor指向的是一个reactions链表,虚线表示这时并没有实际的reactions接入,也就是没有对这些设备及其事件感兴趣的应用。所以在上一步中,即使读到数据,在分发时都扔掉了。
(4)上图中的driver与device是一一对应的,但也可以是一对多的关系(一个driver,多个device)
(5)DFB中自带了各种input driver, 在实际运行时,只有系统中存在的设备的driver才会挂到上面的结构中。
(6)DFB中定义了一个DFBInputEvent的数据结构,各种输入设备的事件都需要mapping到这个结构中。因此EventThread在开始分发事件前,需要做mapping的工作。
(7) 上图只针对单进程的情况。
下节我们看看输入设备事件传送的流程。
- DirectFB 源码解读之初始化-10
- DirectFB 源码解读之初始化-10
- DirectFB 源码解读之初始化-1
- DirectFB 源码解读之初始化-2
- DirectFB 源码解读之初始化-3
- DirectFB 源码解读之初始化-4
- DirectFB 源码解读之初始化-5
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之字体-1
- DirectFB 源码解读之字体-2
- DirectFB 源码解读之gfx硬件加速如何工作
- SpringMVC源码之解读DispatcherServlet初始化流程
- Spark源码解读之SparkContext初始化
- Directfb窗口管理分析之初始化
- Directfb窗口管理分析之初始化
- ios GCD延时执行某个方法
- java中的io流详解
- Spring Web MVC
- nat 详解
- 经典String str = new String("abc");内存分配问题
- DirectFB 源码解读之初始化-10
- 变形transform的副作用
- Oracle 11g SQL开发指南 学习笔记之使用简单函数
- 在 MyEclipse/Eclipse 中如何查看某个文件的历史记录
- org.springframework.orm.hibernate3.HibernateSystemException: Null value was assigned to a property o
- 使用TFDStoredProc没填入存储过程名的一些坑
- Interpolator属性
- 2016年终总结
- HTTP小知识