5 #ifndef ctrlplane_ifmap_entry_h
6 #define ctrlplane_ifmap_entry_h
8 #include <boost/crc.hpp>
9 #include <boost/intrusive_ptr.hpp>
10 #include <boost/intrusive/list.hpp>
11 #include <boost/dynamic_bitset.hpp>
27 virtual std::string
ToString()
const = 0;
29 virtual void EncodeUpdate(pugi::xml_node *parent)
const = 0;
40 virtual boost::crc_32_type::value_type
CalculateCrc()
const = 0;
51 boost::intrusive::list_member_hook<>
node_;
88 virtual bool SetProperty(
const std::string &attr_key,
int intrusive_ptr_add_ref(const AsPath *cpath)
void set_origin(IFMapOrigin origin)
boost::dynamic_bitset old_property_set_
DISALLOW_COPY_AND_ASSIGN(IFMapObject)
DISALLOW_COPY_AND_ASSIGN(IFMapLinkAttr)
bool IsPropertySet(int id) const
virtual bool empty() const
IFMapOrigin origin() const
friend void intrusive_ptr_release(IFMapObject *object)
boost::intrusive_ptr< IFMapObject > IFMapObjectRef
virtual bool ResolveStaleness()
boost::intrusive::list_member_hook node_
uint64_t sequence_number()
friend void intrusive_ptr_add_ref(IFMapObject *object)
virtual bool SetData(const AutogenProperty *data)=0
virtual bool ResolveStaleness()
void set_sequence_number(uint64_t sequence_number)
const uint64_t sequence_number() const
DISALLOW_COPY_AND_ASSIGN(IFMapIdentifier)
bool ResolveStalePropertiesAndResetOld()
virtual boost::crc_32_type::value_type CalculateCrc() const =0
virtual bool SetProperty(const std::string &attr_key, AutogenProperty *data)=0
void intrusive_ptr_release(const AsPath *cpath)
static void Release(IFMapObject *object)
void TransferPropertyToOldProperty()
virtual std::string ToString() const =0
virtual void EncodeUpdate(pugi::xml_node *parent) const =0
boost::dynamic_bitset property_set_
virtual bool ResolveStaleness()=0
uint64_t sequence_number_
virtual void ClearProperty(const std::string &attr_key)=0