Now everything at least compiles, though doing nothing
diff --git a/model/sync-ccnx-name-info.cc b/model/sync-ccnx-name-info.cc
index f0a5473..2f97b12 100644
--- a/model/sync-ccnx-name-info.cc
+++ b/model/sync-ccnx-name-info.cc
@@ -24,26 +24,52 @@
#include "ns3/ccnx-name-components.h"
#include <boost/lexical_cast.hpp>
+#include <utility>
+
+using namespace std;
+using namespace boost;
namespace ns3 {
namespace Sync {
+NameInfoConstPtr
+CcnxNameInfo::FindOrCreate (Ptr<const CcnxNameComponents> name)
+{
+ string key = lexical_cast<string> (*name);
+
+ NameInfoPtr value = NameInfoPtr (new CcnxNameInfo (name));
+ pair<NameMap::iterator,bool> item =
+ m_names.insert (make_pair (key, value));
+
+ return item.first->second;
+}
CcnxNameInfo::CcnxNameInfo (Ptr<const CcnxNameComponents> name)
: m_name (name)
{
+ m_id = m_ids ++; // set ID for a newly inserted element
}
-CcnxNameInfo::~CcnxNameInfo ()
-{
-}
-
-std::string
+string
CcnxNameInfo::toString () const
{
- return boost::lexical_cast<std::string> (*m_name);
+ return lexical_cast<std::string> (*m_name);
}
+bool
+CcnxNameInfo::operator == (const NameInfo &info) const
+{
+ try
+ {
+ return *m_name == *dynamic_cast<const CcnxNameInfo&> (info).m_name;
+ }
+ catch (...)
+ {
+ return false;
+ }
+}
+
+
} // Sync
} // ns3