Interface,用于生成事件的对象(例如 CaptureSession)。
任何生成的事件最初都由提供者自身存储,并且在 waitForEvents() 被调用之前,它们不会复制到公共 EventQueue 中。如果在任何时候,提供者提供的事件类型未被该提供者创建的活动 EventQueue 接受,则该类型的所有事件都将被丢弃。
定义于文件 EventProvider.h 的第 56 行。
◆ ~IEventProvider()
Argus::IEventProvider::~IEventProvider |
( |
| ) |
|
|
inlineprotected |
◆ createEventQueue()
virtual EventQueue* Argus::IEventProvider::createEventQueue |
( |
const std::vector< EventType > & |
eventTypes, |
|
|
Status * |
status = NULL |
|
) |
| |
|
纯虚函数 |
为给定类型(或多种类型)的事件创建事件队列
- 参数
-
[in] | eventTypes | 队列的事件类型列表。 |
[out] | status | 一个可选的指针,用于返回成功/状态。 |
- 返回值
- 新的 EventQueue 对象,失败时返回 NULL。
◆ getAvailableEventTypes()
virtual Status Argus::IEventProvider::getAvailableEventTypes |
( |
std::vector< EventType > * |
types | ) |
const |
|
纯虚函数 |
返回此提供者可以生成的事件类型列表。
- 参数
-
[out] | types | 一个向量,将填充可用的事件类型。 |
- 返回值
- 调用的成功/状态。
◆ id()
static const InterfaceID& Argus::IEventProvider::id |
( |
| ) |
|
|
inlinestatic |
◆ waitForEvents() [1/2]
等待并将任何待处理事件从提供者传输到提供的队列。
传输到队列的所有事件的所有权将从提供者传递到队列,并且这些事件对象指针将保持有效,直到队列被销毁或直到下次使用该队列调用此函数。换句话说,队列中的任何事件都将在队列提供给此函数的另一次调用时销毁,无论它是否接收到任何新事件,或者在队列被销毁时销毁。
如果多个给定队列接受相同类型的事件,则只有第一个队列将接收该类型的事件。
任何未通过此函数复制到队列的事件都将保留在提供者中,直到使用接收该类型事件的队列查询它们为止。
如果在调用此函数时没有请求类型的待处理事件,它将阻塞,直到有事件可用或发生超时。
- 参数
-
[in] | queues | 要将事件传输到的队列列表。 |
[in] | timeout | 等待新事件的最长时间(纳秒)。 |
- 返回值
- 调用的成功/状态。
◆ waitForEvents() [2/2]
本类文档生成自以下文件