OpenSDN source code
IFMapObject Class Referenceabstract

#include <ifmap_object.h>

Inheritance diagram for IFMapObject:
Collaboration diagram for IFMapObject:

Public Member Functions

 IFMapObject ()
 
virtual ~IFMapObject ()
 
virtual std::string ToString () const =0
 
virtual void EncodeUpdate (pugi::xml_node *parent) const =0
 
void set_origin (IFMapOrigin origin)
 
uint64_t sequence_number ()
 
const uint64_t sequence_number () const
 
void set_sequence_number (uint64_t sequence_number)
 
IFMapOrigin origin () const
 
virtual bool ResolveStaleness ()=0
 
virtual boost::crc_32_type::value_type CalculateCrc () const =0
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (IFMapObject)
 

Static Private Member Functions

static void Release (IFMapObject *object)
 

Private Attributes

boost::intrusive::list_member_hook node_
 
int refcount_
 
uint64_t sequence_number_
 
IFMapOrigin origin_
 

Friends

class IFMapNode
 
void intrusive_ptr_add_ref (IFMapObject *object)
 
void intrusive_ptr_release (IFMapObject *object)
 
void intrusive_ptr_add_ref (const IFMapObject *object)
 
void intrusive_ptr_release (const IFMapObject *object)
 

Detailed Description

Definition at line 23 of file ifmap_object.h.

Constructor & Destructor Documentation

◆ IFMapObject()

IFMapObject::IFMapObject ( )

Definition at line 7 of file ifmap_object.cc.

◆ ~IFMapObject()

IFMapObject::~IFMapObject ( )
virtual

Definition at line 11 of file ifmap_object.cc.

Member Function Documentation

◆ CalculateCrc()

virtual boost::crc_32_type::value_type IFMapObject::CalculateCrc ( ) const
pure virtual

◆ DISALLOW_COPY_AND_ASSIGN()

IFMapObject::DISALLOW_COPY_AND_ASSIGN ( IFMapObject  )
private

◆ EncodeUpdate()

virtual void IFMapObject::EncodeUpdate ( pugi::xml_node *  parent) const
pure virtual

◆ origin()

IFMapOrigin IFMapObject::origin ( ) const
inline

Definition at line 38 of file ifmap_object.h.

◆ Release()

void IFMapObject::Release ( IFMapObject object)
staticprivate

Definition at line 14 of file ifmap_object.cc.

◆ ResolveStaleness()

virtual bool IFMapObject::ResolveStaleness ( )
pure virtual

Implemented in IFMapLinkAttr, and IFMapIdentifier.

◆ sequence_number() [1/2]

uint64_t IFMapObject::sequence_number ( )
inline

Definition at line 33 of file ifmap_object.h.

◆ sequence_number() [2/2]

const uint64_t IFMapObject::sequence_number ( ) const
inline

Definition at line 34 of file ifmap_object.h.

◆ set_origin()

void IFMapObject::set_origin ( IFMapOrigin  origin)
inline

Definition at line 31 of file ifmap_object.h.

Here is the call graph for this function:

◆ set_sequence_number()

void IFMapObject::set_sequence_number ( uint64_t  sequence_number)
inline

Definition at line 35 of file ifmap_object.h.

Here is the call graph for this function:

◆ ToString()

virtual std::string IFMapObject::ToString ( ) const
pure virtual

Friends And Related Function Documentation

◆ IFMapNode

friend class IFMapNode
friend

Definition at line 43 of file ifmap_object.h.

◆ intrusive_ptr_add_ref [1/2]

void intrusive_ptr_add_ref ( const IFMapObject object)
friend

Definition at line 73 of file ifmap_object.h.

◆ intrusive_ptr_add_ref [2/2]

void intrusive_ptr_add_ref ( IFMapObject object)
friend

Definition at line 59 of file ifmap_object.h.

◆ intrusive_ptr_release [1/2]

void intrusive_ptr_release ( const IFMapObject object)
friend

Definition at line 76 of file ifmap_object.h.

◆ intrusive_ptr_release [2/2]

void intrusive_ptr_release ( IFMapObject object)
friend

Definition at line 65 of file ifmap_object.h.

Member Data Documentation

◆ node_

boost::intrusive::list_member_hook IFMapObject::node_
private

Definition at line 51 of file ifmap_object.h.

◆ origin_

IFMapOrigin IFMapObject::origin_
private

Definition at line 54 of file ifmap_object.h.

◆ refcount_

int IFMapObject::refcount_
mutableprivate

Definition at line 52 of file ifmap_object.h.

◆ sequence_number_

uint64_t IFMapObject::sequence_number_
private

Definition at line 53 of file ifmap_object.h.


The documentation for this class was generated from the following files: