src/core/callback-trace-source.h
changeset 1343 421d8d4712f9
parent 1335 d0e45d84f9c6
child 1344 2e0770120285
equal deleted inserted replaced
1342:4603fcee4ffb 1343:421d8d4712f9
    42 class CallbackTraceSource {
    42 class CallbackTraceSource {
    43 public:
    43 public:
    44   CallbackTraceSource ();
    44   CallbackTraceSource ();
    45   void AddCallback (CallbackBase const & callback, TraceContext const & context);
    45   void AddCallback (CallbackBase const & callback, TraceContext const & context);
    46   void RemoveCallback (CallbackBase const & callback);
    46   void RemoveCallback (CallbackBase const & callback);
    47   void operator() (void);
    47   void operator() (void) const;
    48   void operator() (T1 a1);
    48   void operator() (T1 a1) const;
    49   void operator() (T1 a1, T2 a2);
    49   void operator() (T1 a1, T2 a2) const;
    50   void operator() (T1 a1, T2 a2, T3 a3);
    50   void operator() (T1 a1, T2 a2, T3 a3) const;
    51   void operator() (T1 a1, T2 a2, T3 a3, T4 a4);
    51   void operator() (T1 a1, T2 a2, T3 a3, T4 a4) const;
    52 
    52 
    53 private:
    53 private:
    54   typedef std::list<Callback<void,TraceContext const &,T1,T2,T3,T4> > CallbackList;
    54   typedef std::list<Callback<void,TraceContext const &,T1,T2,T3,T4> > CallbackList;
    55   TraceContext m_context;
    55   TraceContext m_context;
    56   CallbackList m_callbackList;
    56   CallbackList m_callbackList;
    97     }
    97     }
    98 }
    98 }
    99 template<typename T1, typename T2, 
    99 template<typename T1, typename T2, 
   100          typename T3, typename T4>
   100          typename T3, typename T4>
   101 void 
   101 void 
   102 CallbackTraceSource<T1,T2,T3,T4>::operator() (void) 
   102 CallbackTraceSource<T1,T2,T3,T4>::operator() (void) const
   103 {
   103 {
   104   for (typename CallbackList::iterator i = m_callbackList.begin ();
   104   for (typename CallbackList::const_iterator i = m_callbackList.begin ();
   105        i != m_callbackList.end (); i++)
   105        i != m_callbackList.end (); i++)
   106     {
   106     {
   107       (*i) (m_context);
   107       (*i) (m_context);
   108     }
   108     }
   109 }
   109 }
   110 template<typename T1, typename T2, 
   110 template<typename T1, typename T2, 
   111          typename T3, typename T4>
   111          typename T3, typename T4>
   112 void 
   112 void 
   113 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1) 
   113 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1) const
   114 {
   114 {
   115   for (typename CallbackList::iterator i = m_callbackList.begin ();
   115   for (typename CallbackList::const_iterator i = m_callbackList.begin ();
   116        i != m_callbackList.end (); i++)
   116        i != m_callbackList.end (); i++)
   117     {
   117     {
   118       (*i) (m_context, a1);
   118       (*i) (m_context, a1);
   119     }
   119     }
   120 }
   120 }
   121 template<typename T1, typename T2, 
   121 template<typename T1, typename T2, 
   122          typename T3, typename T4>
   122          typename T3, typename T4>
   123 void 
   123 void 
   124 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2) 
   124 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2) const
   125 {
   125 {
   126   for (typename CallbackList::iterator i = m_callbackList.begin ();
   126   for (typename CallbackList::const_iterator i = m_callbackList.begin ();
   127        i != m_callbackList.end (); i++)
   127        i != m_callbackList.end (); i++)
   128     {
   128     {
   129       (*i) (m_context, a1, a2);
   129       (*i) (m_context, a1, a2);
   130     }
   130     }
   131 }
   131 }
   132 template<typename T1, typename T2, 
   132 template<typename T1, typename T2, 
   133          typename T3, typename T4>
   133          typename T3, typename T4>
   134 void 
   134 void 
   135 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2, T3 a3) 
   135 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2, T3 a3) const
   136 {
   136 {
   137   for (typename CallbackList::iterator i = m_callbackList.begin ();
   137   for (typename CallbackList::const_iterator i = m_callbackList.begin ();
   138        i != m_callbackList.end (); i++)
   138        i != m_callbackList.end (); i++)
   139     {
   139     {
   140       (*i) (m_context, a1, a2, a3);
   140       (*i) (m_context, a1, a2, a3);
   141     }
   141     }
   142 }
   142 }
   143 template<typename T1, typename T2, 
   143 template<typename T1, typename T2, 
   144          typename T3, typename T4>
   144          typename T3, typename T4>
   145 void 
   145 void 
   146 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2, T3 a3, T4 a4) 
   146 CallbackTraceSource<T1,T2,T3,T4>::operator() (T1 a1, T2 a2, T3 a3, T4 a4) const
   147 {
   147 {
   148   for (typename CallbackList::iterator i = m_callbackList.begin ();
   148   for (typename CallbackList::const_iterator i = m_callbackList.begin ();
   149        i != m_callbackList.end (); i++)
   149        i != m_callbackList.end (); i++)
   150     {
   150     {
   151       (*i) (m_context, a1, a2, a3, a4);
   151       (*i) (m_context, a1, a2, a3, a4);
   152     }
   152     }
   153 }
   153 }