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

#include <cfg_vgw.h>

Collaboration diagram for VirtualGatewayConfigTable:

Classes

struct  VirtualGatewayConfigCompare
 

Public Types

typedef std::set
< VirtualGatewayConfig,
VirtualGatewayConfigCompare
Table
 

Public Member Functions

 VirtualGatewayConfigTable ()
 
 ~VirtualGatewayConfigTable ()
 
void InitFromConfig (const boost::property_tree::ptree pt)
 
void InitDone (Agent *agent)
 
void Shutdown ()
 
const Tabletable () const
 
void Enqueue (boost::shared_ptr< VirtualGatewayData > request)
 
bool ProcessRequest (boost::shared_ptr< VirtualGatewayData > request)
 

Private Member Functions

void BuildSubnetList (const std::string &subnets, VirtualGatewayConfig::SubnetList &results)
 
bool AddVgw (VirtualGatewayInfo &vgw, uint32_t version)
 
bool DeleteVgw (const std::string &interface_name)
 
void DeleteVgw (Table::iterator it)
 
void DeleteAllOldVersionVgw (uint32_t version)
 
bool FindChange (const VirtualGatewayConfig::SubnetList &old_subnets, const VirtualGatewayConfig::SubnetList &new_subnets, VirtualGatewayConfig::SubnetList &add_list, VirtualGatewayConfig::SubnetList &del_list)
 
 DISALLOW_COPY_AND_ASSIGN (VirtualGatewayConfigTable)
 

Private Attributes

Agentagent_
 
Table table_
 
std::unique_ptr< WorkQueue
< boost::shared_ptr
< VirtualGatewayData > > > 
work_queue_
 

Detailed Description

Definition at line 112 of file cfg_vgw.h.

Member Typedef Documentation

Constructor & Destructor Documentation

VirtualGatewayConfigTable::VirtualGatewayConfigTable ( )
inline

Definition at line 123 of file cfg_vgw.h.

VirtualGatewayConfigTable::~VirtualGatewayConfigTable ( )
inline

Definition at line 124 of file cfg_vgw.h.

Member Function Documentation

bool VirtualGatewayConfigTable::AddVgw ( VirtualGatewayInfo vgw,
uint32_t  version 
)
private

Definition at line 141 of file cfg_vgw.cc.

void VirtualGatewayConfigTable::BuildSubnetList ( const std::string &  subnets,
VirtualGatewayConfig::SubnetList results 
)
private

Definition at line 73 of file cfg_vgw.cc.

Here is the call graph for this function:

void VirtualGatewayConfigTable::DeleteAllOldVersionVgw ( uint32_t  version)
private

Definition at line 206 of file cfg_vgw.cc.

Here is the call graph for this function:

bool VirtualGatewayConfigTable::DeleteVgw ( const std::string &  interface_name)
private

Definition at line 183 of file cfg_vgw.cc.

void VirtualGatewayConfigTable::DeleteVgw ( Table::iterator  it)
private

Definition at line 195 of file cfg_vgw.cc.

VirtualGatewayConfigTable::DISALLOW_COPY_AND_ASSIGN ( VirtualGatewayConfigTable  )
private
void VirtualGatewayConfigTable::Enqueue ( boost::shared_ptr< VirtualGatewayData request)

Definition at line 110 of file cfg_vgw.cc.

bool VirtualGatewayConfigTable::FindChange ( const VirtualGatewayConfig::SubnetList old_subnets,
const VirtualGatewayConfig::SubnetList new_subnets,
VirtualGatewayConfig::SubnetList add_list,
VirtualGatewayConfig::SubnetList del_list 
)
private

Definition at line 216 of file cfg_vgw.cc.

void VirtualGatewayConfigTable::InitDone ( Agent agent)

Definition at line 97 of file cfg_vgw.cc.

Here is the call graph for this function:

void VirtualGatewayConfigTable::InitFromConfig ( const boost::property_tree::ptree  pt)

Definition at line 33 of file cfg_vgw.cc.

bool VirtualGatewayConfigTable::ProcessRequest ( boost::shared_ptr< VirtualGatewayData request)

Definition at line 115 of file cfg_vgw.cc.

void VirtualGatewayConfigTable::Shutdown ( void  )

Definition at line 106 of file cfg_vgw.cc.

const Table& VirtualGatewayConfigTable::table ( ) const
inline

Definition at line 129 of file cfg_vgw.h.

Member Data Documentation

Agent* VirtualGatewayConfigTable::agent_
private

Definition at line 146 of file cfg_vgw.h.

Table VirtualGatewayConfigTable::table_
private

Definition at line 147 of file cfg_vgw.h.

std::unique_ptr< WorkQueue<boost::shared_ptr<VirtualGatewayData> > > VirtualGatewayConfigTable::work_queue_
private

Definition at line 148 of file cfg_vgw.h.


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