CGraph
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
GDaemonObject Class Reference

在GraphObject和CDescInfo的基础上新增私有成员param_manager_/event_manager_/param_/interval_ param_manager_/event_manager_用于引入GParamManager和GEventManager param_用于引入GPassedParam,对于GDaemonObject来说是GDaemonParam interval_则是GDaemonObject独有的,维护定时器的执行周期 More...

#include <GDaemonObject.h>

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

Public Member Functions

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 CStatus init ()
 
virtual CStatus destroy ()
 
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 Member Functions

 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 run () final
 

Private Attributes

GParamManagerPtr param_manager_ = nullptr
 
GEventManagerPtr event_manager_ = nullptr
 
GDaemonParamPtr param_ = nullptr
 
CMSec interval_ = 0
 

Friends

class GDaemon
 
class GDaemonManager
 
class GPipeline
 

Additional Inherited Members

- Protected Attributes inherited from CDescInfo
std::string name_
 
std::string session_
 
std::string description_
 

Detailed Description

在GraphObject和CDescInfo的基础上新增私有成员param_manager_/event_manager_/param_/interval_ param_manager_/event_manager_用于引入GParamManager和GEventManager param_用于引入GPassedParam,对于GDaemonObject来说是GDaemonParam interval_则是GDaemonObject独有的,维护定时器的执行周期

Constructor & Destructor Documentation

◆ GDaemonObject()

GDaemonObject::GDaemonObject ( )
inlineexplicitprotected
Here is the call graph for this function:

◆ ~GDaemonObject()

GDaemonObject::~GDaemonObject ( )
inlineoverrideprotected

Member Function Documentation

◆ run()

CStatus GDaemonObject::run ( )
inlinefinalprivatevirtual

所有Daemon均不执行run方法

Returns

Implements CObject.

◆ setDParam() [1/2]

template<typename DParam , c_enable_if_t< std::is_base_of< GDaemonParam, DParam >::value, int > = 0>
GDaemonObject* GDaemonObject::setDParam ( DParam *  param)
protected

设置daemon中参数,类型为GDaemonParam (即:GPassedParam)

Template Parameters
T
Parameters
param
Returns

◆ setDParam() [2/2]

template<typename DParam , c_enable_if_t< std::is_base_of< GDaemonParam, DParam >::value, int > >
CGRAPH_NAMESPACE_BEGIN GDaemonObjectPtr GDaemonObject::setDParam ( DParam *  param)
Here is the call graph for this function:

◆ setInterval()

virtual GDaemonObject* GDaemonObject::setInterval ( CMSec  interval)
inlineprotectedvirtual

设置休眠时间信息,单位ms

Returns

Friends And Related Function Documentation

◆ GDaemon

friend class GDaemon
friend

◆ GDaemonManager

friend class GDaemonManager
friend

◆ GPipeline

friend class GPipeline
friend

Member Data Documentation

◆ event_manager_

GEventManagerPtr GDaemonObject::event_manager_ = nullptr
private

◆ interval_

CMSec GDaemonObject::interval_ = 0
private

◆ param_

GDaemonParamPtr GDaemonObject::param_ = nullptr
private

◆ param_manager_

GParamManagerPtr GDaemonObject::param_manager_ = nullptr
private

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