xorp

MasterConfigTree Class Reference

Inheritance diagram for MasterConfigTree:
ConfigTree

List of all members.

Public Member Functions

 MasterConfigTree (const string &config_file, MasterTemplateTree *tt, ModuleManager &mmgr, XorpClient &xclient, bool global_do_exec, bool verbose) throw (InitError)
 MasterConfigTree (TemplateTree *tt, bool verbose)
MasterConfigTreeoperator= (const MasterConfigTree &orig_tree)
bool read_file (string &configuration, const string &config_file, string &errmsg)
bool parse (const string &configuration, const string &config_file, string &errmsg)
void execute ()
void config_done (bool success, string errmsg)
virtual ConfigTreeNodecreate_node (const string &segment, const string &path, const TemplateTreeNode *ttn, ConfigTreeNode *parent_node, const ConfigNodeId &node_id, uid_t user_id, bool verbose)
virtual ConfigTreecreate_tree (TemplateTree *tt, bool verbose)
void commit_changes_pass1 (CallBack cb)
void commit_pass1_done (bool success, string errmsg)
void commit_changes_pass2 ()
void commit_pass2_done (bool success, string errmsg)
bool commit_in_progress () const
bool config_failed () const
const string & config_failed_msg () const
bool check_commit_status (string &response)
string discard_changes ()
string mark_subtree_for_deletion (const list< string > &path_segments, uid_t user_id)
void delete_entire_config ()
bool lock_node (const string &node, uid_t user_id, uint32_t timeout, uint32_t &holder)
bool unlock_node (const string &node, uid_t user_id)
bool change_config (uid_t user_id, CallBack cb, string &errmsg)
bool apply_config_change (uid_t user_id, string &errmsg, const string &deltas, const string &deletions, ConfigChangeCallBack cb)
bool save_config (const string &filename, uid_t user_id, string &errmsg, ConfigSaveCallBack cb)
bool load_config (const string &filename, uid_t user_id, string &errmsg, ConfigLoadCallBack cb)
void set_config_directory (const string &config_directory)
ModuleManagermodule_manager () const
virtual ConfigTreeNoderoot_node ()
virtual const ConfigTreeNodeconst_root_node () const
MasterConfigTreeNodemaster_root_node ()
const MasterConfigTreeNodeconst_master_root_node () const
MasterConfigTreeNodefind_node (const list< string > &path)
MasterConfigTreeNodefind_config_module (const string &module_name)
void set_task_completed (CallBack0 task_completed_cb)
 A callback to be called once when the initial config has been installed.

Private Types

typedef XorpCallback0< void >
::RefPtr 
CallBack0
typedef XorpCallback2< void,
bool, string >::RefPtr 
CallBack
typedef XorpCallback4< void,
bool, string, string, string >
::RefPtr 
ConfigChangeCallBack
typedef XorpCallback2< void,
bool, string >::RefPtr 
ConfigSaveCallBack
typedef XorpCallback4< void,
bool, string, string, string >
::RefPtr 
ConfigLoadCallBack

Private Member Functions

string config_full_filename (const string &filename) const
void remove_tmp_config_file ()
bool set_config_file_permissions (FILE *fp, uid_t user_id, string &errmsg)
void apply_config_commit_changes_cb (bool success, string errmsg, ConfigChangeCallBack cb)
void save_config_file_sent_cb (bool success, string errmsg, string filename, uid_t user_id, ConfigSaveCallBack cb)
void save_config_file_cleanup_cb (bool success, string errmsg, bool orig_success, string orig_errmsg, string filename, uid_t user_id, ConfigSaveCallBack cb)
void save_config_done_cb (bool success, string errmsg, ConfigSaveCallBack cb)
bool save_to_file (const string &filename, uid_t user_id, string &errmsg)
void load_config_file_received_cb (bool success, string errmsg, string filename, uid_t user_id, ConfigLoadCallBack cb)
void load_config_file_cleanup_cb (bool success, string errmsg, bool orig_success, string orig_errmsg, string rtrmgr_config_value, string filename, uid_t user_id, ConfigLoadCallBack cb)
void load_config_commit_changes_cb (bool success, string errmsg, string deltas, string deletions, ConfigLoadCallBack cb)
bool load_from_file (const string &filename, uid_t user_id, string &errmsg, string &deltas, string &deletions)
void diff_configs (const MasterConfigTree &new_tree, MasterConfigTree &delta_tree, MasterConfigTree &deletion_tree)
list< string > find_changed_modules () const
list< string > find_active_modules () const
list< string > find_inactive_modules () const
void order_module_list (const set< string > &module_set, list< string > &ordered_modules) const
bool module_config_start (const string &module_name, string &error_msg)
bool module_shutdown (const string &module_name, string &error_msg)
bool do_exec () const
bool verbose () const
XorpClientxorp_client () const

Private Attributes

MasterConfigTreeNode _root_node
TaskManager_task_manager
CallBack0 _task_completed_cb
CallBack _commit_cb
bool _commit_in_progress
bool _config_failed
string _config_failed_msg
bool _rtrmgr_config_node_found
XorpTimer _save_config_completed_timer
string _tmp_config_filename
string _config_directory
gid_t _xorp_gid
bool _is_xorp_gid_set
RunCommand::ExecId _exec_id
bool _enable_program_exec_id
MasterConfigTree_config_tree_copy

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