22 #ifndef NLSR_TLV_LSDB_STATUS_HPP 23 #define NLSR_TLV_LSDB_STATUS_HPP 29 #include <ndn-cxx/util/time.hpp> 30 #include <ndn-cxx/encoding/block.hpp> 31 #include <ndn-cxx/encoding/encoding-buffer.hpp> 32 #include <ndn-cxx/encoding/tlv.hpp> 33 #include <ndn-cxx/name.hpp> 72 const std::list<AdjacencyLsa>&
75 return m_adjacencyLsas;
81 m_adjacencyLsas.push_back(adjacencyLsa);
83 m_hasAdjacencyLsas =
true;
90 m_adjacencyLsas.clear();
91 m_hasAdjacencyLsas =
false;
98 return m_hasAdjacencyLsas;
101 const std::list<CoordinateLsa>&
104 return m_coordinateLsas;
110 m_coordinateLsas.push_back(coordinateLsa);
112 m_hasCoordinateLsas =
true;
119 m_coordinateLsas.clear();
120 m_hasCoordinateLsas =
false;
127 return m_hasCoordinateLsas;
130 const std::list<NameLsa>&
139 m_nameLsas.push_back(nameLsa);
141 m_hasNameLsas =
true;
149 m_hasNameLsas =
false;
156 return m_hasNameLsas;
169 template<ndn::encoding::Tag TAG>
171 wireEncode(ndn::EncodingImpl<TAG>& block)
const;
191 AdjacencyLsaList m_adjacencyLsas;
192 CoordinateLsaList m_coordinateLsas;
193 NameLsaList m_nameLsas;
195 bool m_hasAdjacencyLsas;
196 bool m_hasCoordinateLsas;
199 mutable ndn::Block m_wire;
208 #endif // NLSR_TLV_LSDB_STATUS_HPP LsdbStatus & clearCoordinateLsas()
std::list< AdjacencyLsa > AdjacencyLsaList
Copyright (c) 2014-2017, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
LsdbStatus & addNameLsa(const NameLsa &nameLsa)
void wireDecode(const ndn::Block &wire)
Populate this object by decoding the one contained in the given block.
const std::list< CoordinateLsa > & getCoordinateLsas() const
Data abstraction for CoordinateLsa.
const ndn::Block & wireEncode() const
Create a TLV encoding of this object.
LsdbStatus & clearNameLsas()
LsdbStatus & clearAdjacencyLsas()
std::list< NameLsa > NameLsaList
LsdbStatus & addAdjacencyLsa(const AdjacencyLsa &adjacencyLsa)
Data abstraction for NameLsa.
std::list< CoordinateLsa > CoordinateLsaList
const std::list< AdjacencyLsa > & getAdjacencyLsas() const
Copyright (c) 2014-2017, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
LsdbStatus & addCoordinateLsa(const CoordinateLsa &coordinateLsa)
Data abstraction for AdjacencyLsa.
Data abstraction for LsdbStatus.
std::ostream & operator<<(std::ostream &os, const AdjacencyLsa &adjacencyLsa)
const std::list< NameLsa > & getNameLsas() const
Error(const std::string &what)