A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 > Class Template Reference

forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a normal ns3::Callback but instead of forwarding calls to a single function (as an ns3::Callback normally does), it forwards calls to a chain of ns3::Callback. More...

#include <traced-callback.h>

+ Collaboration diagram for ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >:

Public Member Functions

 TracedCallback ()
 
void Connect (const CallbackBase &callback, std::string path)
 
void ConnectWithoutContext (const CallbackBase &callback)
 
void Disconnect (const CallbackBase &callback, std::string path)
 
void DisconnectWithoutContext (const CallbackBase &callback)
 
void operator() (void) const
 
void operator() (T1 a1) const
 
void operator() (T1 a1, T2 a2) const
 
void operator() (T1 a1, T2 a2, T3 a3) const
 
void operator() (T1 a1, T2 a2, T3 a3, T4 a4) const
 
void operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5) const
 
void operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6) const
 
void operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7) const
 
void operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8) const
 

Private Types

typedef std::list< Callback
< void, T1, T2, T3, T4, T5, T6,
T7, T8 > > 
CallbackList
 

Private Attributes

CallbackList m_callbackList
 

Detailed Description

template<typename T1 = empty, typename T2 = empty, typename T3 = empty, typename T4 = empty, typename T5 = empty, typename T6 = empty, typename T7 = empty, typename T8 = empty>
class ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >

forward calls to a chain of Callback

An ns3::TracedCallback has almost exactly the same API as a normal ns3::Callback but instead of forwarding calls to a single function (as an ns3::Callback normally does), it forwards calls to a chain of ns3::Callback.

TracedCallback::Connect adds a ns3::Callback at the end of the chain of callbacks. TracedCallback::Disconnect removes a ns3::Callback from the chain of callbacks.

Definition at line 43 of file traced-callback.h.

Member Typedef Documentation

template<typename T1 = empty, typename T2 = empty, typename T3 = empty, typename T4 = empty, typename T5 = empty, typename T6 = empty, typename T7 = empty, typename T8 = empty>
typedef std::list<Callback<void,T1,T2,T3,T4,T5,T6,T7,T8> > ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::CallbackList
private

Definition at line 92 of file traced-callback.h.

Constructor & Destructor Documentation

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::TracedCallback ( )

Definition at line 106 of file traced-callback.h.

Member Function Documentation

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Connect ( const CallbackBase callback,
std::string  path 
)
Parameters
callbackcallback to add to chain of callbacks
paththe path to send back to the user callback.

Append the input callback to the end of the internal list of ns3::Callback. This method also will make sure that the input path specified by the user will be give back to the user's callback as its first argument.

Definition at line 126 of file traced-callback.h.

References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Assign(), and ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Bind().

Referenced by ns3::TracedValue< ns3::SequenceNumber >::Connect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::ConnectWithoutContext ( const CallbackBase callback)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Disconnect ( const CallbackBase callback,
std::string  path 
)
Parameters
callbackcallback to remove from the chain of callbacks.
paththe path which is sent back to the user callback.

Remove the input callback which has a matching path as first argument from the internal list of ns3::Callback. This method is really the symmetric of the TracedCallback::Connect method.

Definition at line 158 of file traced-callback.h.

References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Assign(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Bind(), and ns3::Config::DisconnectWithoutContext().

Referenced by ns3::TracedValue< ns3::SequenceNumber >::Disconnect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::DisconnectWithoutContext ( const CallbackBase callback)
Parameters
callbackcallback to remove from the chain of callbacks.

Remove the input callback from the internal list of ns3::Callback. This method is really the symmetric of the TracedCallback::ConnectWithoutContext method.

Definition at line 138 of file traced-callback.h.

Referenced by ns3::TracedValue< ns3::SequenceNumber >::DisconnectWithoutContext(), and BasicTracedCallbackTestCase::DoRun().

+ Here is the caller graph for this function:

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( void  ) const

Definition at line 170 of file traced-callback.h.

template<typename T1, typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1) const

Definition at line 183 of file traced-callback.h.

template<typename T1, typename T2, typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2 
) const

Definition at line 196 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3 
) const

Definition at line 209 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4, typename T5 , typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) const

Definition at line 222 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6 , typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) const

Definition at line 235 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7 , typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) const

Definition at line 248 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) const

Definition at line 261 of file traced-callback.h.

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8 >
void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7,
T8  a8 
) const

Definition at line 274 of file traced-callback.h.

Member Data Documentation

template<typename T1 = empty, typename T2 = empty, typename T3 = empty, typename T4 = empty, typename T5 = empty, typename T6 = empty, typename T7 = empty, typename T8 = empty>
CallbackList ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::m_callbackList
private

Definition at line 93 of file traced-callback.h.


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