Removing old name-components.* and adding missing implementation of the
CcnxNameComponents constructor
diff --git a/model/ccnx-name-components.cc b/model/ccnx-name-components.cc
index 1014f3d..303e987 100644
--- a/model/ccnx-name-components.cc
+++ b/model/ccnx-name-components.cc
@@ -29,6 +29,10 @@
ATTRIBUTE_HELPER_CPP (CcnxNameComponents);
+CcnxNameComponents::CcnxNameComponents (/* root */)
+{
+}
+
CcnxNameComponents::CcnxNameComponents (const string &s)
{
m_prefix.push_back (s);
diff --git a/model/name-components.cc b/model/name-components.cc
deleted file mode 100644
index 7dde99f..0000000
--- a/model/name-components.cc
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
- */
-
-#include "name-components.h"
-
-#include <iostream>
-
-using namespace std;
-
-namespace ns3 {
-
-CcnxNameComponents::CcnxNameComponents ()
-{
- // m_value = ccn_charbuf_create ();
- // ccn_name_init(m_value);
-}
-
-CcnxNameComponents::CcnxNameComponents (const string &s)
-{
- // m_value = ccn_charbuf_create ();
- // ccn_name_init(m_value);
- // (*this) (s);
- m_prefix.push_back (s);
-}
-
-CcnxNameComponents::~CcnxNameComponents ()
-{
- // ccn_charbuf_destroy(&m_value);
-}
-
-const std::list<std::string> &
-CcnxNameComponents::GetComponents () const
-{
- return m_prefix;
-}
-
-
-// const ccn_charbuf*
-// Components::GetName () const
-// {
-// return m_value;
-// }
-
-CcnxNameComponents&
-CcnxNameComponents::operator () (const string &s)
-{
- // ccn_name_append_str (m_value,s.c_str());
- m_prefix.push_back (s);
- return *this;
-}
-
-// Components::operator const unsigned char* ()
-// {
-// return m_value->buf;
-// }
-
-void
-CcnxNameComponents::Print (std::ostream &os) const
-{
- for (const_iterator i=m_prefix.begin(); i!=m_prefix.end(); i++)
- {
- os << "/" << *i;
- }
-}
-
-std::ostream &
-operator << (std::ostream &os, const CcnxNameComponents &components)
-{
- components.Print (os);
- return os;
-}
-}
-
diff --git a/model/name-components.h b/model/name-components.h
deleted file mode 100644
index 55cd5ae..0000000
--- a/model/name-components.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
- */
-
-#ifndef _NDN_NAME_COMPONENTS_H_
-#define _NDN_NAME_COMPONENTS_H_
-
-#include "ns3/simple-ref-count.h"
-#include "ns3/attribute.h"
-#include "ns3/attribute-helper.h"
-
-#include <string>
-#include <algorithm>
-#include <list>
-#include "ns3/object.h"
-
-namespace ns3 {
-
-class CcnxNameComponents : public Object
-
-{
-public:
- CcnxNameComponents ();
- CcnxNameComponents (const std::string &s);
- ~CcnxNameComponents ();
-
- inline void
- Add (const std::string &s);
-
- CcnxNameComponents&
- operator () (const std::string &s);
-
- const std::list<std::string> &
- GetComponents () const;
-
- // virtual uint32_t
- // GetSerializedSize (void) const;
-
- // virtual void
- // Serialize (Buffer::Iterator start) const;
-
- // virtual uint32_t
- // Deserialize (Buffer::Iterator start);
-
- void Print (std::ostream &os) const;
-
- inline size_t
- size () const;
-
- inline bool
- operator== (const CcnxNameComponents &prefix) const;
-
- inline bool
- operator< (const CcnxNameComponents &prefix) const;
-
-private:
- std::list<std::string> m_prefix;
-
- typedef std::list<std::string>::iterator iterator;
- typedef std::list<std::string>::const_iterator const_iterator;
-};
-
-std::ostream & operator << (std::ostream &os, const CcnxNameComponents &components);
-
-size_t
-CcnxNameComponents::size () const
-{
- return m_prefix.size ();
-}
-
-void
-CcnxNameComponents::Add (const std::string &s)
-{
- (*this) (s);
-}
-
-bool
-CcnxNameComponents::operator== (const CcnxNameComponents &prefix) const
-{
- if (m_prefix.size () != prefix.m_prefix.size ())
- return false;
-
- return std::equal (m_prefix.begin (), m_prefix.end (), prefix.m_prefix.begin ());
-}
-
-bool
-CcnxNameComponents::operator< (const CcnxNameComponents &prefix) const
-{
- return std::lexicographical_compare (m_prefix.begin (), m_prefix.end (),
- prefix.m_prefix.begin (), prefix.m_prefix.end ());
-}
-
-
-/**
-* \class ns3::ComponentsValue
-* \brief hold objects of type ns3:CcnxNameComponents
-*/
-ATTRIBUTE_VALUE_DEFINE (CcnxNameComponents);
-ATTRIBUTE_ACCESSOR_DEFINE (CcnxNameComponents);
-ATTRIBUTE_CHECKER_DEFINE (CcnxNameComponents);
-} // namespace ns3
-
-#endif // _NDN_NAME_COMPONENTS_H_
-