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

在GraphObject和CDescInfo的基础上新增私有成员param_manager_/event_manager_/param_/belong_ param_manager_/event_manager_用于引入GParamManager和GEventManager param_用于引入GPassedParam,对于GAspectObject来说是GAspectParam belong_则是GAspectObject独有的,维护切面和GElement的从属关系 More...

#include <GAspectObject.h>

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

Public Member Functions

template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > >
CGRAPH_NAMESPACE_BEGIN GAspectObjectPtr setAParam (T *param)
 
- Public Member Functions inherited from CObject
 CObject ()=default
 
virtual CStatus init ()
 
virtual CStatus destroy ()
 
virtual ~CObject ()=default
 
- Public Member Functions inherited from CDescInfo
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

 GAspectObject ()
 
 ~GAspectObject () override
 
template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > = 0>
T * getAParam ()
 
template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > = 0>
GAspectObjectsetAParam (T *param)
 
GAspectObjectsetBelong (GElement *belong)
 
const std::string & getName () const override
 

Private Member Functions

CStatus run () final
 

Private Attributes

GAspectParamPtr param_ { nullptr }
 
GParamManagerPtr param_manager_ { nullptr }
 
GEventManagerPtr event_manager_ { nullptr }
 
GElementbelong_ { nullptr }
 

Friends

class GAspectManager
 
class GAspect
 
class GElement
 

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_/belong_ param_manager_/event_manager_用于引入GParamManager和GEventManager param_用于引入GPassedParam,对于GAspectObject来说是GAspectParam belong_则是GAspectObject独有的,维护切面和GElement的从属关系

Constructor & Destructor Documentation

◆ GAspectObject()

CGRAPH_NAMESPACE_BEGIN GAspectObject::GAspectObject ( )
explicitprotected
Here is the call graph for this function:

◆ ~GAspectObject()

GAspectObject::~GAspectObject ( )
overrideprotected

Member Function Documentation

◆ getAParam()

template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > >
T * GAspectObject::getAParam
protected

获取切面参数内容

Returns

◆ getName()

const std::string & GAspectObject::getName ( ) const
overrideprotectedvirtual

获取名称信息

Returns

Reimplemented from CDescInfo.

Here is the call graph for this function:

◆ run()

CStatus GAspectObject::run ( )
inlinefinalprivatevirtual

GAspect 相关内容,不需要执行run方法

Returns

Implements CObject.

◆ setAParam() [1/2]

template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > = 0>
GAspectObject* GAspectObject::setAParam ( T *  param)
protected

设置切面参数内容

Parameters
param

◆ setAParam() [2/2]

template<typename T , c_enable_if_t< std::is_base_of< GAspectParam, T >::value, int > >
CGRAPH_NAMESPACE_BEGIN GAspectObjectPtr GAspectObject::setAParam ( T *  param)

传入的param可以为空

Here is the call graph for this function:

◆ setBelong()

GAspectObjectPtr GAspectObject::setBelong ( GElement belong)
protected

设置从属的 element信息

Parameters
belong
Returns
Here is the call graph for this function:

Friends And Related Function Documentation

◆ GAspect

friend class GAspect
friend

◆ GAspectManager

friend class GAspectManager
friend

◆ GElement

friend class GElement
friend

Member Data Documentation

◆ belong_

GElement* GAspectObject::belong_ { nullptr }
private

◆ event_manager_

GEventManagerPtr GAspectObject::event_manager_ { nullptr }
private

◆ param_

GAspectParamPtr GAspectObject::param_ { nullptr }
private

◆ param_manager_

GParamManagerPtr GAspectObject::param_manager_ { nullptr }
private

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