diff -r 9f384deadb46 -r 985324e2caaa src/core/config.h --- a/src/core/config.h Fri Oct 24 12:31:57 2008 +0200 +++ b/src/core/config.h Fri Oct 24 12:35:28 2008 +0200 @@ -22,6 +22,7 @@ #include "ptr.h" #include +#include namespace ns3 { @@ -110,6 +111,35 @@ */ void Disconnect (std::string path, const CallbackBase &cb); +class MatchContainer +{ +public: + typedef std::vector >::const_iterator Iterator; + MatchContainer (); + MatchContainer (const std::vector > &objects, + const std::vector &contexts, + std::string path); + + MatchContainer::Iterator Begin (void) const; + MatchContainer::Iterator End (void) const; + uint32_t GetN (void) const; + Ptr Get (uint32_t i) const; + std::string GetMatchedPath (uint32_t i) const; + std::string GetPath (void) const; + + void Set (std::string name, const AttributeValue &value); + void Connect (std::string name, const CallbackBase &cb); + void ConnectWithoutContext (std::string name, const CallbackBase &cb); + void Disconnect (std::string name, const CallbackBase &cb); + void DisconnectWithoutContext (std::string name, const CallbackBase &cb); +private: + std::vector > m_objects; + std::vector m_contexts; + std::string m_path; +}; + +MatchContainer LookupMatches (std::string path); + /** * \param obj a new root object *