src/core/array-trace-resolver.h
changeset 1371 bebf690257c9
parent 1368 e75dc1a2a5fb
child 1389 93f575998efc
equal deleted inserted replaced
1370:d5339e1c95df 1371:bebf690257c9
    60   void SetIterators (T begin, T end);
    60   void SetIterators (T begin, T end);
    61 
    61 
    62   // inherited from TraceResolver
    62   // inherited from TraceResolver
    63   virtual void Connect (std::string path, CallbackBase const &cb, const TraceContext &context);
    63   virtual void Connect (std::string path, CallbackBase const &cb, const TraceContext &context);
    64   virtual void Disconnect (std::string path, CallbackBase const &cb);
    64   virtual void Disconnect (std::string path, CallbackBase const &cb);
    65   virtual void PrintAvailable (std::string path, const TraceContext &context, std::ostream &os);
    65   virtual void CollectSources (std::string path, const TraceContext &context, 
       
    66                                SourceCollection *collection);
    66 
    67 
    67 private:
    68 private:
    68   class IteratorBase
    69   class IteratorBase
    69   {
    70   {
    70   public:
    71   public:
   164       }
   165       }
   165   }
   166   }
   166 }
   167 }
   167 template <typename INDEX>
   168 template <typename INDEX>
   168 void 
   169 void 
   169 ArrayTraceResolver<INDEX>::PrintAvailable (std::string path, const TraceContext &context, std::ostream &os)
   170 ArrayTraceResolver<INDEX>::CollectSources (std::string path, const TraceContext &context, 
       
   171                                            SourceCollection *collection)
   170 {
   172 {
   171   path.append ("/[0-n]");
   173   path.append ("/[0-n]");
   172   uint32_t j = 0;
   174   uint32_t j = 0;
   173   for (m_iter->Rewind (); m_iter->HasNext (); m_iter->Next ())
   175   for (m_iter->Rewind (); m_iter->HasNext (); m_iter->Next ())
   174     {
   176     {
   175         TraceContext tmp = context;
   177         TraceContext tmp = context;
   176         INDEX index = j;
   178         INDEX index = j;
   177         tmp.AddElement (index);
   179         tmp.AddElement (index);
   178         Ptr<Object> obj = m_iter->Get ();
   180         Ptr<Object> obj = m_iter->Get ();
   179         obj->GetTraceResolver ()->PrintAvailable (path, tmp, os);
   181         obj->GetTraceResolver ()->CollectSources (path, tmp, collection);
   180         j++;
   182         j++;
   181     }
   183     }
   182 }
   184 }
   183 
   185 
       
   186 
   184 }//namespace ns3
   187 }//namespace ns3
   185 
   188 
   186 #endif /* ARRAY_TRACE_RESOLVER_H */
   189 #endif /* ARRAY_TRACE_RESOLVER_H */