OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TagEntry Class Reference

#include <tag.h>

Inheritance diagram for TagEntry:
Collaboration diagram for TagEntry:

Public Types

enum  {
  LABEL = 0, APPLICATION = 1, TIER = 2, DEPLOYMENT = 3,
  SITE = 4, NEUTRON_FWAAS = 5, INVALID = 0xFFFFFFFF
}
 
typedef std::map< uint32_t,
std::string > 
TagIdNameMap
 
typedef std::pair< uint32_t,
std::string > 
TagIdNamePair
 
typedef std::vector< PolicySetRefPolicySetList
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr
< AgentDBEntry
AgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 

Public Member Functions

 TagEntry (const boost::uuids::uuid tag_uuid)
 
virtual ~TagEntry ()
 
virtual bool IsLess (const DBEntry &rhs) const
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *key)
 
virtual string ToString () const
 
bool Change (TagTable *table, const DBRequest *req)
 
uint32_t GetRefCount () const
 
bool DBEntrySandesh (Sandesh *sresp, std::string &name) const
 
const boost::uuids::uuidtag_uuid () const
 
const uint32_t & tag_id () const
 
const PolicySetListpolicy_set_list () const
 
bool IsApplicationTag () const
 
bool IsNeutronFwaasTag () const
 
const std::string & name () const
 
uint32_t tag_type () const
 
const std::string & tag_value () const
 
- Public Member Functions inherited from AgentOperDBEntry
 AgentOperDBEntry ()
 
virtual ~AgentOperDBEntry ()
 
IFMapNodeifmap_node () const
 
void SetIFMapNodeState (IFMapDependencyManager::IFMapNodePtr sref)
 
- Public Member Functions inherited from AgentDBEntry
 AgentDBEntry ()
 
virtual ~AgentDBEntry ()
 
void SetRefState () const
 
void ClearRefState () const
 
bool IsActive () const
 
DBStateGetAgentDBEntryState (int listener_id)
 
const DBStateGetAgentDBEntryState (int listener_id) const
 
virtual void AllocateResources (ResourceManager *resource_manager)
 
virtual void FreeResources (ResourceManager *resource_manager)
 
virtual void PostAdd ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Static Public Member Functions

static const std::string & GetTypeStr (uint32_t tag_type)
 
static uint32_t GetTypeVal (const std::string &str, const std::string &val)
 

Static Public Attributes

static const uint32_t kInvalidTagId = 0xFFFFFFFF
 
static const uint32_t kTagTypeBitShift = 16
 
static const std::map
< uint32_t, std::string > 
TagTypeStr
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (TagEntry)
 
- Private Member Functions inherited from AgentRefCount< TagEntry >
uint32_t GetRefCount () const
 
 AgentRefCount ()
 
 AgentRefCount (const AgentRefCount &)
 
AgentRefCountoperator= (const AgentRefCount &)
 
virtual ~AgentRefCount ()
 
void swap (AgentRefCount &)
 

Private Attributes

boost::uuids::uuid tag_uuid_
 
uint32_t tag_id_
 
uint32_t tag_type_
 
std::string tag_value_
 
std::string name_
 
PolicySetList policy_set_list_
 
- Private Attributes inherited from AgentRefCount< TagEntry >
tbb::mutex back_ref_mutex_
 
std::set< IntrusiveReferrerback_ref_set_
 

Friends

class TagTable
 

Additional Inherited Members

- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 

Detailed Description

Definition at line 55 of file vnsw/agent/oper/tag.h.

Member Typedef Documentation

typedef std::vector<PolicySetRef> TagEntry::PolicySetList

Definition at line 69 of file vnsw/agent/oper/tag.h.

typedef std::map<uint32_t, std::string> TagEntry::TagIdNameMap

Definition at line 67 of file vnsw/agent/oper/tag.h.

typedef std::pair<uint32_t, std::string> TagEntry::TagIdNamePair

Definition at line 68 of file vnsw/agent/oper/tag.h.

Member Enumeration Documentation

anonymous enum
Enumerator
LABEL 
APPLICATION 
TIER 
DEPLOYMENT 
SITE 
NEUTRON_FWAAS 
INVALID 

Definition at line 57 of file vnsw/agent/oper/tag.h.

Constructor & Destructor Documentation

TagEntry::TagEntry ( const boost::uuids::uuid  tag_uuid)
inline

Definition at line 75 of file vnsw/agent/oper/tag.h.

virtual TagEntry::~TagEntry ( )
inlinevirtual

Definition at line 77 of file vnsw/agent/oper/tag.h.

Member Function Documentation

bool TagEntry::Change ( TagTable table,
const DBRequest req 
)

Definition at line 70 of file vnsw/agent/oper/tag.cc.

Here is the call graph for this function:

bool TagEntry::DBEntrySandesh ( Sandesh sresp,
std::string &  name 
) const
virtual

Implements AgentDBEntry.

Definition at line 294 of file vnsw/agent/oper/tag.cc.

Here is the call graph for this function:

TagEntry::DISALLOW_COPY_AND_ASSIGN ( TagEntry  )
private
DBEntryBase::KeyPtr TagEntry::GetDBRequestKey ( ) const
virtual

Implements DBEntryBase.

Definition at line 44 of file vnsw/agent/oper/tag.cc.

uint32_t TagEntry::GetRefCount ( ) const
inlinevirtual

Implements AgentDBEntry.

Definition at line 85 of file vnsw/agent/oper/tag.h.

Here is the call graph for this function:

const std::string & TagEntry::GetTypeStr ( uint32_t  tag_type)
static

Definition at line 125 of file vnsw/agent/oper/tag.cc.

Here is the call graph for this function:

uint32_t TagEntry::GetTypeVal ( const std::string &  str,
const std::string &  val 
)
static

Definition at line 134 of file vnsw/agent/oper/tag.cc.

bool TagEntry::IsApplicationTag ( ) const

Definition at line 54 of file vnsw/agent/oper/tag.cc.

bool TagEntry::IsLess ( const DBEntry rhs) const
virtual

Implements DBEntry.

Definition at line 33 of file vnsw/agent/oper/tag.cc.

bool TagEntry::IsNeutronFwaasTag ( ) const

Definition at line 62 of file vnsw/agent/oper/tag.cc.

const std::string& TagEntry::name ( ) const
inline

Definition at line 101 of file vnsw/agent/oper/tag.h.

const PolicySetList& TagEntry::policy_set_list ( ) const
inline

Definition at line 93 of file vnsw/agent/oper/tag.h.

void TagEntry::SetKey ( const DBRequestKey key)
virtual

Implements DBEntry.

Definition at line 49 of file vnsw/agent/oper/tag.cc.

const uint32_t& TagEntry::tag_id ( ) const
inline

Definition at line 91 of file vnsw/agent/oper/tag.h.

uint32_t TagEntry::tag_type ( ) const
inline

Definition at line 105 of file vnsw/agent/oper/tag.h.

const boost::uuids::uuid& TagEntry::tag_uuid ( ) const
inline

Definition at line 90 of file vnsw/agent/oper/tag.h.

const std::string& TagEntry::tag_value ( ) const
inline

Definition at line 109 of file vnsw/agent/oper/tag.h.

string TagEntry::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 38 of file vnsw/agent/oper/tag.cc.

Friends And Related Function Documentation

friend class TagTable
friend

Definition at line 118 of file vnsw/agent/oper/tag.h.

Member Data Documentation

const uint32_t TagEntry::kInvalidTagId = 0xFFFFFFFF
static

Definition at line 71 of file vnsw/agent/oper/tag.h.

const uint32_t TagEntry::kTagTypeBitShift = 16
static

Definition at line 72 of file vnsw/agent/oper/tag.h.

std::string TagEntry::name_
private

Definition at line 123 of file vnsw/agent/oper/tag.h.

PolicySetList TagEntry::policy_set_list_
private

Definition at line 124 of file vnsw/agent/oper/tag.h.

uint32_t TagEntry::tag_id_
private

Definition at line 120 of file vnsw/agent/oper/tag.h.

uint32_t TagEntry::tag_type_
private

Definition at line 121 of file vnsw/agent/oper/tag.h.

boost::uuids::uuid TagEntry::tag_uuid_
private

Definition at line 119 of file vnsw/agent/oper/tag.h.

std::string TagEntry::tag_value_
private

Definition at line 122 of file vnsw/agent/oper/tag.h.

const std::map< uint32_t, std::string > TagEntry::TagTypeStr
static
Initial value:
= boost::assign::map_list_of
((uint32_t)LABEL, "label")
((uint32_t)APPLICATION, "application")
((uint32_t)TIER, "tier")
((uint32_t)DEPLOYMENT, "deployment")
((uint32_t)SITE, "site")
((uint32_t)NEUTRON_FWAAS, "neutron_fwaas")

Definition at line 73 of file vnsw/agent/oper/tag.h.


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