#include <Callbacks.h>
Public Types | |
| enum | { ADD_REPLACE, ADD_WARNING } |
| typedef Seq | sequence_type |
| typedef CallBack | callback_type |
| typedef callback_type * | callback_pointer |
| typedef callback_type & | callback_reference |
| typedef std::map< Seq, callback_pointer > | container_type |
Public Member Functions | |
| Callback_Manager (void) | |
| constructor | |
| ~Callback_Manager (void) | |
| desctructor | |
| int | add (param_type seq_id, callback_pointer callback, int option=ADD_REPLACE) |
| add a callback into callback manager | |
| int | callback (param_type seq_id) |
| invoke the callback object | |
| int | callback (param_type seq_id, typename callback_type::result_type *result) |
| invoke the callback object with async result | |
| int | cancel (param_type seq_id) |
| call cancel method of a callback object | |
| callback_pointer | find (param_type seq_id) |
| find a callback and return the point | |
| container_type::size_type | size (void) |
| how many callback objects there are | |
Protected Member Functions | |
| int | dispose (param_type seq_id, int return_value) |
Private Types | |
| typedef call_traits< Seq >::param_type | param_type |
Private Attributes | |
| container_type | callbacks_ |
Definition at line 86 of file Callbacks.h.
typedef call_traits<Seq>::param_type qlib::ace::Callback_Manager< Seq, CallBack >::param_type [private] |
Definition at line 87 of file Callbacks.h.
| typedef Seq qlib::ace::Callback_Manager< Seq, CallBack >::sequence_type |
Definition at line 90 of file Callbacks.h.
| typedef CallBack qlib::ace::Callback_Manager< Seq, CallBack >::callback_type |
Definition at line 92 of file Callbacks.h.
| typedef callback_type* qlib::ace::Callback_Manager< Seq, CallBack >::callback_pointer |
Definition at line 93 of file Callbacks.h.
| typedef callback_type& qlib::ace::Callback_Manager< Seq, CallBack >::callback_reference |
Definition at line 94 of file Callbacks.h.
| typedef std::map<Seq, callback_pointer> qlib::ace::Callback_Manager< Seq, CallBack >::container_type |
Definition at line 97 of file Callbacks.h.
| anonymous enum |
| qlib::ace::Callback_Manager< Seq, CallBack >::Callback_Manager | ( | void | ) | [inline] |
| qlib::ace::Callback_Manager< Seq, CallBack >::~Callback_Manager | ( | void | ) | [inline] |
desctructor
Definition at line 102 of file Callbacks.h.
References qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_.
| int qlib::ace::Callback_Manager< Seq, Result >::add | ( | param_type | seq_id, | |
| callback_pointer | callback, | |||
| int | option = ADD_REPLACE | |||
| ) |
add a callback into callback manager
| seq_id | sequence id of this callback | |
| callback | pointer to a callback object, this manager will get the ownership of callback object | |
| option | decide whether need to delete a existed callback that has same sequence id |
Definition at line 22 of file Callbacks.inl.
References qlib::ace::Callback_Manager< Seq, CallBack >::ADD_REPLACE, qlib::ace::Callback_Manager< Seq, CallBack >::ADD_WARNING, and qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_.
| int qlib::ace::Callback_Manager< Seq, Result >::callback | ( | param_type | seq_id | ) |
invoke the callback object
Definition at line 41 of file Callbacks.inl.
References qlib::ace::Callback_Manager< Seq, CallBack >::dispose(), and qlib::ace::Callback_Manager< Seq, CallBack >::find().
| int qlib::ace::Callback_Manager< Seq, Result >::callback | ( | param_type | seq_id, | |
| typename callback_type::result_type * | result | |||
| ) |
invoke the callback object with async result
Definition at line 53 of file Callbacks.inl.
References qlib::ace::Callback_Manager< Seq, CallBack >::dispose(), and qlib::ace::Callback_Manager< Seq, CallBack >::find().
| int qlib::ace::Callback_Manager< Seq, Result >::cancel | ( | param_type | seq_id | ) |
call cancel method of a callback object
Definition at line 83 of file Callbacks.inl.
References qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_, and qlib::ace::Callback_Manager< Seq, CallBack >::find().
| callback_pointer qlib::ace::Callback_Manager< Seq, CallBack >::find | ( | param_type | seq_id | ) | [inline] |
find a callback and return the point
| seq_id | sequence id |
Definition at line 160 of file Callbacks.h.
References qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_.
Referenced by qlib::ace::Callback_Manager< Seq, CallBack >::callback(), qlib::ace::Callback_Manager< Seq, CallBack >::cancel(), and qlib::ace::Callback_Manager< Seq, CallBack >::dispose().
| container_type::size_type qlib::ace::Callback_Manager< Seq, CallBack >::size | ( | void | ) | [inline] |
how many callback objects there are
Definition at line 169 of file Callbacks.h.
References qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_.
| int qlib::ace::Callback_Manager< Seq, Result >::dispose | ( | param_type | seq_id, | |
| int | return_value | |||
| ) | [protected] |
Definition at line 66 of file Callbacks.inl.
References qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_, and qlib::ace::Callback_Manager< Seq, CallBack >::find().
Referenced by qlib::ace::Callback_Manager< Seq, CallBack >::callback().
container_type qlib::ace::Callback_Manager< Seq, CallBack >::callbacks_ [private] |
Definition at line 173 of file Callbacks.h.
Referenced by qlib::ace::Callback_Manager< Seq, CallBack >::add(), qlib::ace::Callback_Manager< Seq, CallBack >::cancel(), qlib::ace::Callback_Manager< Seq, CallBack >::dispose(), qlib::ace::Callback_Manager< Seq, CallBack >::find(), qlib::ace::Callback_Manager< Seq, CallBack >::size(), and qlib::ace::Callback_Manager< Seq, CallBack >::~Callback_Manager().
1.5.1