OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConfigListener::DependencyTracker Class Reference
Collaboration diagram for ConfigListener::DependencyTracker:

Classes

struct  EdgeDescriptor
 

Public Types

typedef list< EdgeDescriptorEdgeDescriptorList
 
typedef list< pair< string,
string > > 
NodeList
 
typedef set< string > PropagateList
 
typedef map< string,
PropagateList
ReactionMap
 
typedef map< string, ReactionMapNodeEventPolicy
 

Public Member Functions

 DependencyTracker (ConfigListener *listener)
 
void Initialize ()
 
void NodeEvent (IFMapNode *node)
 
bool LinkEvent (const string metadata, IFMapNode *left, IFMapNode *right)
 
void PropagateChanges (ChangeList *change_list)
 
void Clear ()
 

Private Types

typedef set< pair< IFMapNode
*, string > > 
InEdgeSet
 

Private Member Functions

const PropagateListGetPropagateList (const string &type, const string &metadata) const
 
bool IsInterestingEvent (const IFMapNode *node, const string &metadata) const
 
void PropagateNode (IFMapNode *node, InEdgeSet *in_edges, ChangeList *change_list)
 
void PropagateEdge (IFMapNode *node, const string &metadata, InEdgeSet *in_edges, ChangeList *change_list)
 
void AddChangeEvent (ChangeList *change_list, IFMapNode *node)
 

Private Attributes

ConfigListenerlistener_
 
NodeEventPolicy policy_
 
set< string > vertex_list_
 
EdgeDescriptorList edge_list_
 
NodeList node_list_
 

Detailed Description

Definition at line 22 of file config_listener.cc.

Member Typedef Documentation

typedef set<pair<IFMapNode *, string> > ConfigListener::DependencyTracker::InEdgeSet
private

Definition at line 140 of file config_listener.cc.

Definition at line 39 of file config_listener.cc.

typedef list<pair<string, string> > ConfigListener::DependencyTracker::NodeList

Definition at line 34 of file config_listener.cc.

Definition at line 37 of file config_listener.cc.

Definition at line 38 of file config_listener.cc.

Constructor & Destructor Documentation

ConfigListener::DependencyTracker::DependencyTracker ( ConfigListener listener)
inline

Definition at line 41 of file config_listener.cc.

Member Function Documentation

void ConfigListener::DependencyTracker::AddChangeEvent ( ChangeList change_list,
IFMapNode node 
)
inlineprivate

Definition at line 213 of file config_listener.cc.

Here is the call graph for this function:

void ConfigListener::DependencyTracker::Clear ( )
inline

Definition at line 133 of file config_listener.cc.

const PropagateList* ConfigListener::DependencyTracker::GetPropagateList ( const string &  type,
const string &  metadata 
) const
inlineprivate

Definition at line 142 of file config_listener.cc.

void ConfigListener::DependencyTracker::Initialize ( )
inline

Definition at line 45 of file config_listener.cc.

bool ConfigListener::DependencyTracker::IsInterestingEvent ( const IFMapNode node,
const string &  metadata 
) const
inlineprivate

Definition at line 155 of file config_listener.cc.

Here is the call graph for this function:

bool ConfigListener::DependencyTracker::LinkEvent ( const string  metadata,
IFMapNode left,
IFMapNode right 
)
inline

Definition at line 82 of file config_listener.cc.

Here is the call graph for this function:

void ConfigListener::DependencyTracker::NodeEvent ( IFMapNode node)
inline

Definition at line 72 of file config_listener.cc.

Here is the call graph for this function:

void ConfigListener::DependencyTracker::PropagateChanges ( ChangeList change_list)
inline

Definition at line 100 of file config_listener.cc.

Here is the call graph for this function:

void ConfigListener::DependencyTracker::PropagateEdge ( IFMapNode node,
const string &  metadata,
InEdgeSet in_edges,
ChangeList change_list 
)
inlineprivate

Definition at line 180 of file config_listener.cc.

Here is the call graph for this function:

void ConfigListener::DependencyTracker::PropagateNode ( IFMapNode node,
InEdgeSet in_edges,
ChangeList change_list 
)
inlineprivate

Definition at line 163 of file config_listener.cc.

Here is the call graph for this function:

Member Data Documentation

EdgeDescriptorList ConfigListener::DependencyTracker::edge_list_
private

Definition at line 226 of file config_listener.cc.

ConfigListener* ConfigListener::DependencyTracker::listener_
private

Definition at line 223 of file config_listener.cc.

NodeList ConfigListener::DependencyTracker::node_list_
private

Definition at line 227 of file config_listener.cc.

NodeEventPolicy ConfigListener::DependencyTracker::policy_
private

Definition at line 224 of file config_listener.cc.

set<string> ConfigListener::DependencyTracker::vertex_list_
private

Definition at line 225 of file config_listener.cc.


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