src/common/composite-trace-resolver.cc
changeset 1333 c0d66de933e9
parent 1329 fc842b2faece
--- a/src/common/composite-trace-resolver.cc	Fri Aug 10 15:47:00 2007 +0200
+++ b/src/common/composite-trace-resolver.cc	Fri Aug 10 15:47:13 2007 +0200
@@ -33,14 +33,14 @@
 
 void 
 CompositeTraceResolver::Add (std::string name, 
-                             Callback<TraceResolver *> createResolver)
+                             Callback<Ptr<TraceResolver> > createResolver)
 {
   DoAdd (name, createResolver, TraceContext ());
 }
 
 void 
 CompositeTraceResolver::DoAdd (std::string name, 
-			       Callback<TraceResolver *> createResolver,
+			       Callback<Ptr<TraceResolver> > createResolver,
 			       TraceContext const &context)
 {
   struct CallbackTraceSourceItem item;
@@ -125,7 +125,7 @@
                                       const TraceContext &context,
                                       enum Operation op)
 {
-  TraceResolver *resolver = i->createResolver ();
+  Ptr<TraceResolver> resolver = i->createResolver ();
   switch (op) {
   case CONNECT: {
     NS_DEBUG ("connect to path="<<subpath<<" name="<<i->name);
@@ -137,7 +137,6 @@
     resolver->Disconnect (subpath, cb);
     break;
   }
-  delete resolver;
 }
 
 void 
@@ -204,7 +203,7 @@
 private:
   void TraceDouble (TraceContext const &context, double v);
   void TraceInt (TraceContext const &context, int v);
-  TraceResolver *CreateSubResolver ();
+  Ptr<TraceResolver> CreateSubResolver ();
 
 
   bool m_gotDoubleA;
@@ -244,10 +243,10 @@
   m_gotInt = true;
 }
 
-TraceResolver *
+Ptr<TraceResolver>
 CompositeTraceResolverTest::CreateSubResolver (void)
 {
-  CompositeTraceResolver *subresolver = new CompositeTraceResolver ();
+  Ptr<CompositeTraceResolver> subresolver = Create<CompositeTraceResolver> ();
   subresolver->Add ("trace-int", m_traceInt, 
                     SubTraceSourceTest (SubTraceSourceTest::INT));
   return subresolver;