src/core/composite-trace-resolver.h
changeset 1383 12f30b7defb4
parent 1379 f323d2dcdaf6
child 1386 f2ee41c3e788
equal deleted inserted replaced
1382:61584c0c60f6 1383:12f30b7defb4
    53    * resolution. The TraceContext of this trace source will also
    53    * resolution. The TraceContext of this trace source will also
    54    * be automatically extended to contain the input context.
    54    * be automatically extended to contain the input context.
    55    */
    55    */
    56   template <typename T>
    56   template <typename T>
    57   void AddSource (std::string name, const TraceDoc &doc,
    57   void AddSource (std::string name, const TraceDoc &doc,
    58                   TraceSource &trace, T const &context);
    58                   const TraceSource &trace, T const &context);
    59   /**
    59   /**
    60    * \param name name of trace source
    60    * \param name name of trace source
    61    * \param trace a callback trace source
    61    * \param trace a callback trace source
    62    *
    62    *
    63    * Add a callback trace source in this resolver. This trace
    63    * Add a callback trace source in this resolver. This trace
    64    * source will match the name specified during namespace 
    64    * source will match the name specified during namespace 
    65    * resolution.
    65    * resolution.
    66    */
    66    */
    67   void AddSource (std::string name,
    67   void AddSource (std::string name,
    68                   const TraceDoc &doc,
    68                   const TraceDoc &doc,
    69                   TraceSource &trace);
    69                   const TraceSource &trace);
    70 
    70 
    71   void AddChild (std::string name, Ptr<Object> child);
    71   void AddChild (std::string name, Ptr<Object> child);
    72 
    72 
    73   template <typename T>
    73   template <typename T>
    74   void AddChild (std::string name, Ptr<Object> child, const T &contextElement);
    74   void AddChild (std::string name, Ptr<Object> child, const T &contextElement);
   114   void DoRecursiveOperationForParent (std::string path, 
   114   void DoRecursiveOperationForParent (std::string path, 
   115                                       const Operation &operation);
   115                                       const Operation &operation);
   116   void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context);
   116   void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context);
   117   void DoAddSource (std::string name,
   117   void DoAddSource (std::string name,
   118                     const TraceDoc &doc,
   118                     const TraceDoc &doc,
   119                     TraceSource &trace,
   119                     const TraceSource &trace,
   120                     const TraceContext &context);
   120                     const TraceContext &context);
   121   void Add (std::string name, 
   121   void Add (std::string name, 
   122             Callback<Ptr<TraceResolver> > createResolver);
   122             Callback<Ptr<TraceResolver> > createResolver);
   123 
   123 
   124 
   124 
   134 
   134 
   135 template <typename T>
   135 template <typename T>
   136 void 
   136 void 
   137 CompositeTraceResolver::AddSource (std::string name,
   137 CompositeTraceResolver::AddSource (std::string name,
   138                                    const TraceDoc &doc,
   138                                    const TraceDoc &doc,
   139                                    TraceSource &trace, 
   139                                    const TraceSource &trace, 
   140                                    T const &context)
   140                                    T const &context)
   141 {
   141 {
   142   TraceContext ctx;
   142   TraceContext ctx;
   143   ctx.AddElement (context);
   143   ctx.AddElement (context);
   144   DoAddSource (name, doc, trace, ctx);  
   144   DoAddSource (name, doc, trace, ctx);