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

#include <feature_flags.h>

Collaboration diagram for process::FlagUveManager:

Public Member Functions

void SendUVE ()
 
FlagConfigVec GetFlagInfos (bool lock) const
 

Static Public Member Functions

static FlagUveManagerGetInstance ()
 

Private Types

typedef boost::function< void(void)> FlagUveCb
 

Private Member Functions

 FlagUveManager (FlagManager *manager, FlagUveCb send_uve_cb)
 
 DISALLOW_COPY_AND_ASSIGN (FlagUveManager)
 

Static Private Member Functions

static void CreateInstance (FlagManager *mgr, FlagUveCb send_uve_cb)
 

Private Attributes

FlagManagerflag_manager_
 
FlagUveCb flag_uve_cb_
 

Static Private Attributes

static boost::scoped_ptr
< FlagUveManager
instance_
 

Friends

class ConnectionStateManager
 

Detailed Description


FlagUveManager class responsible for providing functionality to interface with analytics/introspect to provide data on the feature flags configured in each module. Analytics registers callbacks using this class which will be called when there is a change to flag definition or configuration.


Definition at line 379 of file feature_flags.h.

Member Typedef Documentation

typedef boost::function<void (void)> process::FlagUveManager::FlagUveCb
private

UVE callback from ConnectionStateManager. This is called to report information on feature flags capability by user that modules are interested in.

Definition at line 408 of file feature_flags.h.

Constructor & Destructor Documentation

process::FlagUveManager::FlagUveManager ( FlagManager manager,
FlagUveCb  send_uve_cb 
)
private

Definition at line 103 of file feature_flags.cc.

Member Function Documentation

void process::FlagUveManager::CreateInstance ( FlagManager manager,
FlagUveCb  flag_uve_cb 
)
staticprivate

CreateInstance should be called from ConnectionStateManager::Init()

The assert is to catch errors where FlagManager::GetInstance() is called before ConnectionStateManager::Init()

Definition at line 112 of file feature_flags.cc.

Here is the call graph for this function:

process::FlagUveManager::DISALLOW_COPY_AND_ASSIGN ( FlagUveManager  )
private
FlagConfigVec process::FlagUveManager::GetFlagInfos ( bool  lock) const

API to get all user-configured flags

Definition at line 137 of file feature_flags.cc.

Here is the call graph for this function:

FlagUveManager * process::FlagUveManager::GetInstance ( )
static

Definition at line 122 of file feature_flags.cc.

Here is the call graph for this function:

void process::FlagUveManager::SendUVE ( )

Analytics Callbacks

Helper class handling analytics registers a callback(flag_uve_cb) with FlagUveManager. This will be invoked when the FlagUveManager processes any user configuration for the flags.

Definition at line 129 of file feature_flags.cc.

Friends And Related Function Documentation

friend class ConnectionStateManager
friend

Definition at line 401 of file feature_flags.h.

Member Data Documentation

FlagManager* process::FlagUveManager::flag_manager_
private

Definition at line 415 of file feature_flags.h.

FlagUveCb process::FlagUveManager::flag_uve_cb_
private

Definition at line 416 of file feature_flags.h.

boost::scoped_ptr< FlagUveManager > process::FlagUveManager::instance_
staticprivate

FlagUveManager Class Method Implementations

Definition at line 414 of file feature_flags.h.


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