一、概念
IbeoDevice/DataBlock/DataListener
IBEODevice会从雷达/ECU接收信息(scan、object list、vehicle data、images)并转换成Datablock数据块格式。接收后为已注册到ibeodevice的数据库的各个特定类型提供所有的datalistener。因此,设备接收数据块,它将调用所有已注册的DataListener的需要的方法,在那里可以执行用户操作。
Database access/Reader/Database Replayer
对MongoDB数据库的访问将由特定的mongo-cxx-driver接口。这些接口(例如MongoDbInterface,MongoDbInterfaceT, MongoDbObjInterface)提供合适的函数来执行数据库查询。
根据接口和函数的不同,参数可以不同。
(e.g. mongo::BSONObj,mongo::DBClientCursor, DbQueryIterator<DataType>, bool).
DbQueryIterator<DataType>简化处理查询结果,他会自动转换接收的mongo::BSONObj (from a mongo::DBClientCursor)为数据类型。
为了支持 DataBlocks 的查询(e.g.scan, object list, vehicle data),特定的DbDataBlockReader会处理数据库连接和数据的获取。
IbeoDevice的概念在上面已经进行了阐述,将通过DatabaseReplayer进行补充. 此设备将通知所有的 listeners.
DbDataBlockReaders按时间顺序对特定类型的数据库进行读取。
利用IBEOsdk 编程:
确定连接的设备,可选择的有: