src/core/object.h
changeset 2463 c77e43117673
parent 2460 7f5679184b79
child 2471 86f7ea794e83
--- a/src/core/object.h	Thu Feb 21 23:15:00 2008 +0100
+++ b/src/core/object.h	Fri Feb 22 00:08:00 2008 +0100
@@ -47,6 +47,7 @@
 class AttributeAccessor;
 class AttributeValue;
 class AttributeList;
+class TraceSourceAccessor;
 
 /**
  * \brief a unique identifier for an interface.
@@ -140,6 +141,11 @@
 
   Attribute GetAttributeInitialValue (uint32_t i) const;
 
+  uint32_t GetTraceSourceN (void) const;
+  std::string GetTraceSourceName (uint32_t i) const;
+  std::string GetTraceSourceHelp (uint32_t i) const;
+  Ptr<const TraceSourceAccessor> GetTraceSourceAccessor (uint32_t i) const;
+
   Ptr<Object> CreateObject (const AttributeList &attributes) const;
 
 
@@ -227,9 +233,13 @@
                        std::string help, 
                        uint32_t flags,
                        Attribute initialValue,
-                       Ptr<const AttributeAccessor> spec,
+                       Ptr<const AttributeAccessor> accessor,
                        Ptr<const AttributeChecker> checker);
 
+  TypeId AddTraceSource (std::string name,
+                         std::string help,
+                         Ptr<const TraceSourceAccessor> accessor);
+
   // construct an invalid TypeId.
   TypeId ();
   ~TypeId ();
@@ -246,6 +256,8 @@
     Ptr<const AttributeChecker> checker;
   };
 
+  Ptr<const TraceSourceAccessor> LookupTraceSourceByName (std::string name) const;
+
   /**
    * \param name the name of the requested attribute
    * \returns the Accessor associated to the requested attribute
@@ -372,6 +384,9 @@
    */
   Attribute GetAttribute (std::string name) const;
 
+  bool TraceSourceConnect (std::string name, const CallbackBase &cb);
+  bool TraceSourceDisconnect (std::string name, const CallbackBase &cb);
+
   /**
    * Increment the reference count. This method should not be called
    * by user code. Object instances are expected to be used in conjunction