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>
51 boost::intrusive::list_member_hook<>
node_;
virtual void ClearProperty(const std::string &attr_key)=0
virtual bool empty() const
bool ResolveStalePropertiesAndResetOld()
bool IsPropertySet(int id) const
virtual bool SetProperty(const std::string &attr_key, AutogenProperty *data)=0
virtual bool ResolveStaleness()
boost::dynamic_bitset property_set_
void TransferPropertyToOldProperty()
DISALLOW_COPY_AND_ASSIGN(IFMapIdentifier)
boost::dynamic_bitset old_property_set_
DISALLOW_COPY_AND_ASSIGN(IFMapLinkAttr)
virtual bool SetData(const AutogenProperty *data)=0
virtual bool ResolveStaleness()
IFMapOrigin origin() const
void set_origin(IFMapOrigin origin)
virtual boost::crc_32_type::value_type CalculateCrc() const =0
uint64_t sequence_number()
const uint64_t sequence_number() const
virtual void EncodeUpdate(pugi::xml_node *parent) const =0
virtual bool ResolveStaleness()=0
friend void intrusive_ptr_add_ref(IFMapObject *object)
friend void intrusive_ptr_release(IFMapObject *object)
void set_sequence_number(uint64_t sequence_number)
uint64_t sequence_number_
DISALLOW_COPY_AND_ASSIGN(IFMapObject)
virtual std::string ToString() const =0
boost::intrusive::list_member_hook node_
static void Release(IFMapObject *object)
void intrusive_ptr_add_ref(IFMapObject *object)
void intrusive_ptr_release(IFMapObject *object)
boost::intrusive_ptr< IFMapObject > IFMapObjectRef