From 3eeae9047288ae84b0b32945d7e7b87ba158eb39 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Mon, 27 Aug 2007 15:34:57 +0200 Subject: [PATCH] replace enum with virtual class and subclasses --- src/core/composite-trace-resolver.cc | 106 ++++++++++++++------------- src/core/composite-trace-resolver.h | 22 ++---- 2 files changed, 62 insertions(+), 66 deletions(-) diff --git a/src/core/composite-trace-resolver.cc b/src/core/composite-trace-resolver.cc index edf1e9c26..972867731 100644 --- a/src/core/composite-trace-resolver.cc +++ b/src/core/composite-trace-resolver.cc @@ -128,13 +128,35 @@ void CompositeTraceResolver::Connect (std::string path, CallbackBase const &cb, const TraceContext &context) { NS_DEBUG ("connect path="<name == id) { - OperationOne (subpath, i, cb, context, op); - DoRecursiveOperationForParent (path, cb, context, op); + operation.Do (subpath, *i); + operation.DoParent (path, m_parent); return; } } @@ -192,60 +214,40 @@ CompositeTraceResolver::DoRecursiveOperation (std::string path, { if ((*j)->name == *i) { - OperationOne (subpath, j, cb, context, op); + operation.Do (subpath, *j); break; } } } - DoRecursiveOperationForParent (path, cb, context, op); -} - -void -CompositeTraceResolver::DoRecursiveOperationForParent (std::string path, - const CallbackBase &cb, - const TraceContext &context, - enum Operation op) -{ - if (m_parent == 0) - { - return; - } - switch (op) { - case CONNECT: - m_parent->Connect (path, cb, context); - break; - case DISCONNECT: - m_parent->Disconnect (path, cb); - break; - } -} - -void -CompositeTraceResolver::OperationOne (std::string subpath, - TraceItems::const_iterator i, - const CallbackBase &cb, - const TraceContext &context, - enum Operation op) -{ - switch (op) { - case CONNECT: { - NS_DEBUG ("connect to path="<