src/core/config.h
changeset 3999 7a1a377c3900
parent 3787 985324e2caaa
--- a/src/core/config.h	Tue Dec 09 22:09:12 2008 -0800
+++ b/src/core/config.h	Wed Dec 10 00:09:07 2008 -0800
@@ -111,26 +111,97 @@
  */
 void Disconnect (std::string path, const CallbackBase &cb);
 
+/**
+ * \brief hold a set of objects which match a specific search string.
+ *
+ * This class also allows you to perform a set of configuration operations
+ * on the set of matching objects stored in the container. Specifically,
+ * it is possible to perform bulk Connects and Sets.
+ */
 class MatchContainer
 {
 public:
   typedef std::vector<Ptr<Object> >::const_iterator Iterator;
   MatchContainer ();
+  // constructor used only by implementation.
   MatchContainer (const std::vector<Ptr<Object> > &objects, 
                   const std::vector<std::string> &contexts, 
                   std::string path);
 
+  /**
+   * \returns an iterator which points to the first item in the container
+   */
   MatchContainer::Iterator Begin (void) const;
+  /**
+   * \returns an iterator which points to the last item in the container
+   */
   MatchContainer::Iterator End (void) const;
+  /**
+   * \returns the number of items in the container
+   */
   uint32_t GetN (void) const;
+  /**
+   * \param i index of item to lookup ([0,n[)
+   * \returns the item requested.
+   */
   Ptr<Object> Get (uint32_t i) const;
+  /**
+   * \param i index of item to lookup ([0,n[)
+   * \returns the fully-qualified matching path associated
+   *          to the requested item.
+   *
+   * The matching patch uniquely identifies the requested object.
+   */
   std::string GetMatchedPath (uint32_t i) const;
+  /**
+   * \returns the path used to perform the object matching.
+   */
   std::string GetPath (void) const;
 
+  /**
+   * \param name name of attribute to set
+   * \param value value to set to the attribute
+   *
+   * Set the specified attribute value to all the objects stored in this
+   * container.
+   * \sa ns3::Config::Set
+   */
   void Set (std::string name, const AttributeValue &value);
+  /**
+   * \param name the name of the trace source to connect to
+   * \param cb the sink to connect to the trace source
+   *
+   * Connect the specified sink to all the objects stored in this
+   * container.
+   * \sa ns3::Config::Connect
+   */
   void Connect (std::string name, const CallbackBase &cb);
+  /**
+   * \param name the name of the trace source to connect to
+   * \param cb the sink to connect to the trace source
+   *
+   * Connect the specified sink to all the objects stored in this
+   * container.
+   * \sa ns3::Config::ConnectWithoutContext     
+   */
   void ConnectWithoutContext (std::string name, const CallbackBase &cb);
+  /**
+   * \param name the name of the trace source to disconnect from
+   * \param cb the sink to disconnect from the trace source
+   *
+   * Disconnect the specified sink from all the objects stored in this
+   * container.
+   * \sa ns3::Config::Disconnect
+   */
   void Disconnect (std::string name, const CallbackBase &cb);
+  /**
+   * \param name the name of the trace source to disconnect from
+   * \param cb the sink to disconnect from the trace source
+   *
+   * Disconnect the specified sink from all the objects stored in this
+   * container.
+   * \sa ns3::Config::DisconnectWithoutContext
+   */
   void DisconnectWithoutContext (std::string name, const CallbackBase &cb);
 private:
   std::vector<Ptr<Object> > m_objects;
@@ -138,6 +209,11 @@
   std::string m_path;
 };
 
+/**
+ * \param path the path to perform a match against
+ * \returns a container which contains all the objects which match the input
+ *          path.
+ */
 MatchContainer LookupMatches (std::string path);
 
 /**