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

#include <feature_flags.h>

Collaboration diagram for process::FlagConfigManager:

Public Member Functions

void Set (const std::string &name, const std::string &version_info, bool enabled, FlagState::Type state, ContextVec &context_infos)
 
void Unset (const std::string &name)
 

Static Public Member Functions

static FlagConfigManagerGetInstance ()
 
static void Initialize (const string &build_info)
 

Private Member Functions

 FlagConfigManager (FlagManager *manager)
 
 DISALLOW_COPY_AND_ASSIGN (FlagConfigManager)
 

Private Attributes

FlagManagerflag_manager_
 

Static Private Attributes

static boost::scoped_ptr
< FlagConfigManager
instance_
 
static std::string version_
 

Detailed Description


User configuration for feature flag is provided to the FlagManager using this class. Used by servers providing config data (ifmap_server) Data provided includes

  1. Flag name
  2. bool indicating if flag is enabled
  3. bool indicating default value
  4. Release in which the flag was introduced

    5. Context Info (optional)

Definition at line 338 of file feature_flags.h.

Constructor & Destructor Documentation

process::FlagConfigManager::FlagConfigManager ( FlagManager manager)
private

Definition at line 157 of file feature_flags.cc.

Member Function Documentation

process::FlagConfigManager::DISALLOW_COPY_AND_ASSIGN ( FlagConfigManager  )
private
FlagConfigManager * process::FlagConfigManager::GetInstance ( )
static

Definition at line 178 of file feature_flags.cc.

Here is the call graph for this function:

void process::FlagConfigManager::Initialize ( const string &  build_info)
static

Initialize should be called from modules (for instance from main)

Definition at line 164 of file feature_flags.cc.

Here is the call graph for this function:

void process::FlagConfigManager::Set ( const std::string &  name,
const std::string &  version_info,
bool  enabled,
FlagState::Type  state,
ContextVec context_infos 
)

API to set/update user config. Called when run-time updates are received for feature.

Call FlagManager to add/update the configuration for this feature flag to its flag store if the version matches the module version. Otherwise ignore.

Definition at line 185 of file feature_flags.cc.

Here is the call graph for this function:

void process::FlagConfigManager::Unset ( const std::string &  name)

API to unset user config. Called when user unconfigures feature flag.

User unconfigured the flag. Call FlagManager to remove the user configuration for this feature flag from its flag store.

Definition at line 204 of file feature_flags.cc.

Here is the call graph for this function:

Member Data Documentation

FlagManager* process::FlagConfigManager::flag_manager_
private

Definition at line 360 of file feature_flags.h.

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

FlagManager Class Method Implementations

FlagConfigManager instance

Definition at line 359 of file feature_flags.h.

string process::FlagConfigManager::version_
staticprivate

Definition at line 362 of file feature_flags.h.


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