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

#include <GEventManager.h>

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

Public Member Functions

template<typename TEvent , typename TEParam = GEventDefaultParam, c_enable_if_t< std::is_base_of< GEvent, TEvent >::value, int > = 0, c_enable_if_t< std::is_base_of< GEventParam, TEParam >::value, int > = 0>
CStatus createWithParam (const std::string &key, TEParam *param=nullptr)
 
CStatus trigger (const std::string &key, GEventType type, GEventAsyncStrategy strategy)
 
std::shared_future< CVoidasyncTrigger (const std::string &key, GEventAsyncStrategy strategy)
 
template<typename TEvent , typename TEParam , c_enable_if_t< std::is_base_of< GEvent, TEvent >::value, int > , c_enable_if_t< std::is_base_of< GEventParam, TEParam >::value, int > >
CGRAPH_NAMESPACE_BEGIN CStatus createWithParam (const std::string &key, TEParam *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 Member Functions

CStatus init () final
 
CStatus destroy () final
 
CStatus clear () final
 
GEventObjectPtr setThreadPool (UThreadPoolPtr ptr) final
 
 GEventManager ()=default
 
 ~GEventManager () override
 
CStatus reset () final
 
- Protected Member Functions inherited from GEventObject
CStatus run () final
 
- Protected Member Functions inherited from GraphManager< GEvent >
virtual CStatus add (GEvent *object)
 
virtual CStatus remove (GEvent *object)
 
virtual CBool find (GEvent *object) const
 
virtual CStatus create (const std::string &key)
 
virtual GEventget (const std::string &key)
 
virtual CSize getSize () const
 
CStatus run () override
 

Private Attributes

std::unordered_map< std::string, GEventPtrevents_map_
 

Friends

class CAllocator
 
class GPipeline
 

Additional Inherited Members

- Protected Attributes inherited from GEventObject
UThreadPoolPtr thread_pool_ = nullptr
 
GParamManagerPtr param_manager_ = nullptr
 
- Protected Attributes inherited from CDescInfo
std::string name_
 
std::string session_
 
std::string description_
 

Constructor & Destructor Documentation

◆ GEventManager()

GEventManager::GEventManager ( )
explicitprotecteddefault

◆ ~GEventManager()

GEventManager::~GEventManager ( )
overrideprotected
Here is the call graph for this function:

Member Function Documentation

◆ asyncTrigger()

std::shared_future< CVoid > GEventManager::asyncTrigger ( const std::string &  key,
GEventAsyncStrategy  strategy 
)

异步事件触发

Parameters
key
strategy
Returns

◆ clear()

CStatus GEventManager::clear ( )
finalprotectedvirtual

清空所有object,必须实现的内容

Returns

Implements GraphManager< GEvent >.

◆ createWithParam() [1/2]

template<typename TEvent , typename TEParam , c_enable_if_t< std::is_base_of< GEvent, TEvent >::value, int > , c_enable_if_t< std::is_base_of< GEventParam, TEParam >::value, int > >
CGRAPH_NAMESPACE_BEGIN CStatus GEventManager::createWithParam ( const std::string &  key,
TEParam *  param 
)

◆ createWithParam() [2/2]

template<typename TEvent , typename TEParam = GEventDefaultParam, c_enable_if_t< std::is_base_of< GEvent, TEvent >::value, int > = 0, c_enable_if_t< std::is_base_of< GEventParam, TEParam >::value, int > = 0>
CStatus GEventManager::createWithParam ( const std::string &  key,
TEParam *  param = nullptr 
)

创建一个特定类型的事件,并且通过参数赋值

Template Parameters
TEvent
TEParam
Parameters
key
param
Returns

◆ destroy()

CStatus GEventManager::destroy ( )
finalprotectedvirtual

释放函数

Reimplemented from CObject.

◆ init()

CGRAPH_NAMESPACE_BEGIN CStatus GEventManager::init ( )
finalprotectedvirtual

初始化函数

Reimplemented from CObject.

◆ reset()

CStatus GEventManager::reset ( )
finalprotectedvirtual

重置所有object

Returns

Reimplemented from GraphManager< GEvent >.

◆ setThreadPool()

GEventObjectPtr GEventManager::setThreadPool ( UThreadPoolPtr  ptr)
finalprotectedvirtual

Reimplemented from GEventObject.

◆ trigger()

CStatus GEventManager::trigger ( const std::string &  key,
GEventType  type,
GEventAsyncStrategy  strategy 
)

触发事件

Parameters
key
type
strategy,仅当异步的时候生效
Returns

Friends And Related Function Documentation

◆ CAllocator

friend class CAllocator
friend

◆ GPipeline

friend class GPipeline
friend

Member Data Documentation

◆ events_map_

std::unordered_map<std::string, GEventPtr> GEventManager::events_map_
private

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