CGraph
Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
GDaemon Class Referenceabstract

#include <GDaemon.h>

Inheritance diagram for GDaemon:
Inheritance graph
[legend]
Collaboration diagram for GDaemon:
Collaboration graph
[legend]

Protected Member Functions

virtual CVoid daemonTask (GDaemonParamPtr param)=0
 
virtual CMSec modify (GDaemonParamPtr param)
 
CMSec getInterval () const
 
- Protected Member Functions inherited from GDaemonObject
 GDaemonObject ()
 
 ~GDaemonObject () override
 
virtual GDaemonObjectsetInterval (CMSec interval)
 
template<typename DParam , c_enable_if_t< std::is_base_of< GDaemonParam, DParam >::value, int > = 0>
GDaemonObjectsetDParam (DParam *param)
 

Private Member Functions

CStatus init () final
 
CStatus destroy () final
 

Private Attributes

UTimer timer_
 

Friends

class GDaemonManager
 
class GPipeline
 

Additional Inherited Members

- Public Member Functions inherited from GDaemonObject
template<typename DParam , c_enable_if_t< std::is_base_of< GDaemonParam, DParam >::value, int > >
CGRAPH_NAMESPACE_BEGIN GDaemonObjectPtr setDParam (DParam *param)
 
- Public Member Functions inherited from CObject
 CObject ()=default
 
virtual ~CObject ()=default
 
- Public Member Functions inherited from CDescInfo
virtual const std::string & getName () const
 
const std::string & getSession () const
 
const std::string & getDescription () const
 
virtual auto setName (const std::string &name) -> decltype(this)
 
virtual auto setDescription (const std::string &description) -> decltype(this)
 
virtual ~CDescInfo ()=default
 
- Protected Attributes inherited from CDescInfo
std::string name_
 
std::string session_
 
std::string description_
 

Detailed Description

基于UTimer实现的定时器,通过async提交异步任务,通过future等待异步任务完成 支持中途打断,以及支持中途改变每次执行任务的间隔时间 不需要run,在init的同时就会启动timer_定周期执行daemonTask

Member Function Documentation

◆ daemonTask()

virtual CVoid GDaemon::daemonTask ( GDaemonParamPtr  param)
protectedpure virtual

后台执行函数,间隔interval时间后,执行一次

Parameters
param
Returns

Implemented in CameraGDaemon.

◆ destroy()

CStatus GDaemon::destroy ( )
finalprivatevirtual

释放函数

Reimplemented from CObject.

Here is the call graph for this function:

◆ getInterval()

CMSec GDaemon::getInterval ( ) const
protected

获取设置的延时信息

Returns

◆ init()

CGRAPH_NAMESPACE_BEGIN CStatus GDaemon::init ( )
finalprivatevirtual

初始化函数

Reimplemented from CObject.

Here is the call graph for this function:

◆ modify()

CMSec GDaemon::modify ( GDaemonParamPtr  param)
protectedvirtual

修改下一次休眠的时间

Parameters
param
Returns
@notice 返回值 <=0 的时候,不生效。 > 0 的时候,仅针对下一次生效

Friends And Related Function Documentation

◆ GDaemonManager

friend class GDaemonManager
friend

◆ GPipeline

friend class GPipeline
friend

Member Data Documentation

◆ timer_

UTimer GDaemon::timer_
private

The documentation for this class was generated from the following files: