xorp

ConfigTreeNode Class Reference

Inheritance diagram for ConfigTreeNode:
MasterConfigTreeNode SlaveConfigTreeNode

List of all members.

Public Member Functions

 ConfigTreeNode (bool verbose)
 ConfigTreeNode (const ConfigTreeNode &ctn)
 ConfigTreeNode (const string &node_name, const string &path, const TemplateTreeNode *ttn, ConfigTreeNode *parent, const ConfigNodeId &node_id, uid_t user_id, uint32_t clientid, bool verbose)
bool operator== (const ConfigTreeNode &them) const
bool is_same (const ConfigTreeNode &them, bool ignore_node_id) const
virtual ConfigTreeNodecreate_node (const string &segment, const string &path, const TemplateTreeNode *ttn, ConfigTreeNode *parent_node, const ConfigNodeId &node_id, uid_t user_id, uint32_t clientid, bool verbose)=0
virtual ConfigTreeNodecreate_node (const ConfigTreeNode &ctn)=0
void add_child (ConfigTreeNode *child)
void remove_child (ConfigTreeNode *child)
void add_default_children ()
void recursive_add_default_children ()
bool check_allowed_value (string &error_msg) const
bool check_allowed_value (const string &value, string &error_msg) const
bool check_allowed_operator (const string &value, string &error_msg) const
bool set_value (const string &value, uid_t user_id, string &error_msg)
void set_value_without_verification (const string &value, uid_t user_id)
bool set_operator (ConfigOperator op, uid_t user_id, string &error_msg)
void set_operator_without_verification (ConfigOperator op, uid_t user_id)
void mark_subtree_as_committed ()
void mark_subtree_as_uncommitted ()
bool merge_deltas (uid_t user_id, const ConfigTreeNode &delta_node, bool provisional_change, bool preserve_node_id, string &error_msg)
bool merge_deletions (uid_t user_id, const ConfigTreeNode &deletion_node, bool provisional_change, string &error_msg)
ConfigTreeNodefind_config_module (const string &module_name)
bool check_config_tree (string &error_msg) const
string discard_changes (int depth, int last_depth)
int type () const
bool is_root_node () const
bool is_tag () const
bool is_multi_value_node () const
bool is_leaf_value () const
bool is_read_only () const
const string & read_only_reason () const
bool is_permanent () const
const string & permanent_reason () const
bool is_user_hidden () const
const string & user_hidden_reason () const
unsigned int depth () const
const TemplateTreeNodetemplate_tree_node () const
int child_number () const
string str () const
string node_str () const
string typestr () const
const string & segname () const
const string & value () const
const ConfigNodeIdnode_id () const
void set_node_id_position (const ConfigNodeId::Position &p)
ConfigNodeIdnode_id_generator ()
uint32_t clientid () const
bool has_value () const
ConfigOperator get_operator () const
uid_t user_id () const
void set_existence_committed (bool v)
bool existence_committed () const
bool deleted () const
void undelete ()
void undelete_subtree ()
void undelete_node_and_ancestors ()
const TimeValmodification_time () const
const string & path () const
void set_parent (ConfigTreeNode *parent)
ConfigTreeNodeparent ()
const ConfigTreeNodeconst_parent () const
list< ConfigTreeNode * > & children ()
const list< ConfigTreeNode * > & const_children () const
string show_subtree (bool show_top, int depth, int indent, bool do_indent, bool numbered, bool annotate, bool suppress_default_values) const
void mark_subtree_for_deletion (uid_t user_id)
void delete_subtree_silently ()
void clone_subtree (const ConfigTreeNode &orig_node)
bool retain_different_nodes (const ConfigTreeNode &them, bool retain_changed_values)
bool retain_deletion_nodes (const ConfigTreeNode &them, bool retain_value_changed)
void retain_common_nodes (const ConfigTreeNode &them)
ConfigTreeNodefind_node (const list< string > &path)
const ConfigTreeNodefind_const_node (const list< string > &path) const
string subtree_str () const
bool expand_variable (const string &varname, string &value, bool ignore_deleted_nodes) const
bool expand_variable_to_full_varname (const string &varname, string &full_varname) const
bool expand_expression (const string &expression, string &value) const
void expand_varname_to_matchlist (const vector< string > &v, size_t depth, list< string > &matches) const
bool set_variable (const string &varname, const string &value)
const string & named_value (const string &varname) const
void set_named_value (const string &varname, const string &value)
string show_operator () const
bool is_committed () const
bool is_uncommitted () const
bool is_default_value () const
bool is_default_value (const string &test_value) const
bool has_undeleted_children () const
virtual void update_node_id_position ()

Protected Types

enum  VarType {
  NONE, NODE_VALUE, NODE_OPERATOR, NODE_ID,
  NAMED, TEMPLATE_DEFAULT
}

Protected Member Functions

bool split_up_varname (const string &varname, list< string > &var_parts) const
string join_up_varname (const list< string > &var_parts) const
ConfigTreeNodefind_varname_node (const string &varname, VarType &type)
const ConfigTreeNodefind_const_varname_node (const string &varname, VarType &type) const
ConfigTreeNodefind_parent_varname_node (const list< string > &var_parts, VarType &type)
ConfigTreeNodefind_child_varname_node (const list< string > &var_parts, VarType &type)
void sort_by_template (list< ConfigTreeNode * > &children) const
string show_node_id (bool numbered, const ConfigNodeId &node_id) const
virtual void allocate_unique_node_id ()
string quoted_value (const string &value) const

Protected Attributes

const TemplateTreeNode_template_tree_node
bool _has_value
string _value
string _committed_value
ConfigOperator _operator
ConfigOperator _committed_operator
string _segname
string _path
ConfigTreeNode_parent
list< ConfigTreeNode * > _children
ConfigNodeId _node_id
ConfigNodeId _node_id_generator
uid_t _user_id
uid_t _committed_user_id
uint32_t _clientid
TimeVal _modification_time
TimeVal _committed_modification_time
bool _existence_committed
bool _value_committed
bool _deleted
map< string, string > _variables
bool _on_parent_path
bool _verbose

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations