From 442d4c9e35ef8f52d66049845935defae45fa049 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Sun, 12 Aug 2007 18:27:30 +0200 Subject: [PATCH] add an abstract base to CallbackTraceSource --- src/core/callback-trace-source.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/core/callback-trace-source.h b/src/core/callback-trace-source.h index 7de77c56a..e5cc1a599 100644 --- a/src/core/callback-trace-source.h +++ b/src/core/callback-trace-source.h @@ -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 -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;