Jetson Linux API 参考文档

32.7.4 版本
Argus::IEventProvider 类参考抽象类

详细描述

Interface,用于生成事件的对象(例如 CaptureSession)。

任何生成的事件最初都由提供者自身存储,并且在 waitForEvents() 被调用之前,它们不会复制到公共 EventQueue 中。如果在任何时候,提供者提供的事件类型未被该提供者创建的活动 EventQueue 接受,则该类型的所有事件都将被丢弃。

定义于文件 EventProvider.h 的第 56 行。

Argus::IEventProvider 的继承关系图
Argus::IEventProvider 的协作关系图

公共成员函数

virtual Status getAvailableEventTypes (std::vector< EventType > *types) const =0
 返回此提供者可以生成的事件类型列表。 更多...
 
virtual EventQueuecreateEventQueue (const std::vector< EventType > &eventTypes, Status *status=NULL)=0
 为给定类型(或多种类型)的事件创建事件队列 更多...
 
virtual Status waitForEvents (const std::vector< EventQueue * > &queues, uint64_t timeout=TIMEOUT_INFINITE)=0
 等待并将任何待处理事件从提供者传输到提供的队列。 更多...
 
virtual Status waitForEvents (EventQueue *queue, uint64_t timeout=TIMEOUT_INFINITE)=0
 waitForEvents() 的变体,仅等待一个 EventQueue更多...
 

静态公共成员函数

static const InterfaceIDid ()
 

保护成员函数

 ~IEventProvider ()
 

构造函数 & 析构函数文档

◆ ~IEventProvider()

Argus::IEventProvider::~IEventProvider ( )
inlineprotected

定义于文件 EventProvider.h 的第 117 行。

成员函数文档

◆ 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

定义于文件 EventProvider.h 的第 59 行。

◆ waitForEvents() [1/2]

virtual Status Argus::IEventProvider::waitForEvents ( const std::vector< EventQueue * > &  queues,
uint64_t  timeout = TIMEOUT_INFINITE 
)
纯虚函数

等待并将任何待处理事件从提供者传输到提供的队列。

传输到队列的所有事件的所有权将从提供者传递到队列,并且这些事件对象指针将保持有效,直到队列被销毁或直到下次使用该队列调用此函数。换句话说,队列中的任何事件都将在队列提供给此函数的另一次调用时销毁,无论它是否接收到任何新事件,或者在队列被销毁时销毁。

如果多个给定队列接受相同类型的事件,则只有第一个队列将接收该类型的事件。

任何未通过此函数复制到队列的事件都将保留在提供者中,直到使用接收该类型事件的队列查询它们为止。

如果在调用此函数时没有请求类型的待处理事件,它将阻塞,直到有事件可用或发生超时。

参数
[in]queues要将事件传输到的队列列表。
[in]timeout等待新事件的最长时间(纳秒)。
返回值
调用的成功/状态。

◆ waitForEvents() [2/2]

virtual Status Argus::IEventProvider::waitForEvents ( EventQueue queue,
uint64_t  timeout = TIMEOUT_INFINITE 
)
纯虚函数

waitForEvents() 的变体,仅等待一个 EventQueue


本类文档生成自以下文件
. All rights reserved.