add an abstract base to CallbackTraceSource
This commit is contained in:
@@ -29,6 +29,14 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
class CallbackTraceSourceBase
|
||||
{
|
||||
public:
|
||||
virtual ~CallbackTraceSourceBase () {}
|
||||
virtual void AddCallback (CallbackBase const & callback, TraceContext const & context) = 0;
|
||||
virtual void RemoveCallback (CallbackBase const & callback) = 0;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \brief log arbitrary number of parameters to a matching ns3::Callback
|
||||
@@ -39,11 +47,11 @@ namespace ns3 {
|
||||
*/
|
||||
template<typename T1 = empty, typename T2 = empty,
|
||||
typename T3 = empty, typename T4 = empty>
|
||||
class CallbackTraceSource {
|
||||
class CallbackTraceSource : public CallbackTraceSourceBase {
|
||||
public:
|
||||
CallbackTraceSource ();
|
||||
void AddCallback (CallbackBase const & callback, TraceContext const & context);
|
||||
void RemoveCallback (CallbackBase const & callback);
|
||||
virtual void AddCallback (CallbackBase const & callback, TraceContext const & context);
|
||||
virtual void RemoveCallback (CallbackBase const & callback);
|
||||
void operator() (void) const;
|
||||
void operator() (T1 a1) const;
|
||||
void operator() (T1 a1, T2 a2) const;
|
||||
|
||||
Reference in New Issue
Block a user