⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtrmgr_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 2 页
字号:
	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("ready", ready);	pxa_outputs->add("config", config);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_apply_config_change(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(4), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/apply_config_change");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_apply_config_change(	    xa_inputs.get_string("token"),	    xa_inputs.get_string("target"),	    xa_inputs.get_string("deltas"),	    xa_inputs.get_string("deletions"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/apply_config_change", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_lock_config(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/lock_config");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    bool success;    uint32_t holder;    try {	XrlCmdError e = rtrmgr_0_1_lock_config(	    xa_inputs.get_string("token"),	    xa_inputs.get_uint32("timeout"),	    success,	    holder);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/lock_config", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("success", success);	pxa_outputs->add("holder", holder);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_unlock_config(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(1), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/unlock_config");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_unlock_config(	    xa_inputs.get_string("token"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/unlock_config", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_lock_node(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(3), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/lock_node");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    bool success;    uint32_t holder;    try {	XrlCmdError e = rtrmgr_0_1_lock_node(	    xa_inputs.get_string("token"),	    xa_inputs.get_string("node"),	    xa_inputs.get_uint32("timeout"),	    success,	    holder);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/lock_node", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("success", success);	pxa_outputs->add("holder", holder);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_unlock_node(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/unlock_node");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_unlock_node(	    xa_inputs.get_string("token"),	    xa_inputs.get_string("node"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/unlock_node", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_save_config(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(3), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/save_config");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_save_config(	    xa_inputs.get_string("token"),	    xa_inputs.get_string("target"),	    xa_inputs.get_string("filename"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/save_config", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_load_config(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(3), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/load_config");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_load_config(	    xa_inputs.get_string("token"),	    xa_inputs.get_string("target"),	    xa_inputs.get_string("filename"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/load_config", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_rtrmgr_0_1_set_config_directory(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(1), XORP_UINT_CAST(xa_inputs.size()), "rtrmgr/0.1/set_config_directory");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rtrmgr_0_1_set_config_directory(	    xa_inputs.get_string("config_directory"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rtrmgr/0.1/set_config_directory", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "finder_event_observer/0.1/xrl_target_birth");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = finder_event_observer_0_1_xrl_target_birth(	    xa_inputs.get_string("target_class"),	    xa_inputs.get_string("target_instance"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "finder_event_observer/0.1/xrl_target_birth", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRtrmgrTargetBase::handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "finder_event_observer/0.1/xrl_target_death");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = finder_event_observer_0_1_xrl_target_death(	    xa_inputs.get_string("target_class"),	    xa_inputs.get_string("target_instance"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "finder_event_observer/0.1/xrl_target_death", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}voidXrlRtrmgrTargetBase::add_handlers(){	if (_cmds->add_handler("common/0.1/get_target_name",	    callback(this, &XrlRtrmgrTargetBase::handle_common_0_1_get_target_name)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "common/0.1/get_target_name");	}	if (_cmds->add_handler("common/0.1/get_version",	    callback(this, &XrlRtrmgrTargetBase::handle_common_0_1_get_version)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "common/0.1/get_version");	}	if (_cmds->add_handler("common/0.1/get_status",	    callback(this, &XrlRtrmgrTargetBase::handle_common_0_1_get_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "common/0.1/get_status");	}	if (_cmds->add_handler("common/0.1/shutdown",	    callback(this, &XrlRtrmgrTargetBase::handle_common_0_1_shutdown)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "common/0.1/shutdown");	}	if (_cmds->add_handler("rtrmgr/0.1/get_pid",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_get_pid)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/get_pid");	}	if (_cmds->add_handler("rtrmgr/0.1/register_client",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_register_client)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/register_client");	}	if (_cmds->add_handler("rtrmgr/0.1/unregister_client",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_unregister_client)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/unregister_client");	}	if (_cmds->add_handler("rtrmgr/0.1/authenticate_client",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_authenticate_client)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/authenticate_client");	}	if (_cmds->add_handler("rtrmgr/0.1/enter_config_mode",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_enter_config_mode)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/enter_config_mode");	}	if (_cmds->add_handler("rtrmgr/0.1/leave_config_mode",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_leave_config_mode)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/leave_config_mode");	}	if (_cmds->add_handler("rtrmgr/0.1/get_config_users",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_get_config_users)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/get_config_users");	}	if (_cmds->add_handler("rtrmgr/0.1/get_running_config",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_get_running_config)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/get_running_config");	}	if (_cmds->add_handler("rtrmgr/0.1/apply_config_change",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_apply_config_change)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/apply_config_change");	}	if (_cmds->add_handler("rtrmgr/0.1/lock_config",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_lock_config)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/lock_config");	}	if (_cmds->add_handler("rtrmgr/0.1/unlock_config",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_unlock_config)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/unlock_config");	}	if (_cmds->add_handler("rtrmgr/0.1/lock_node",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_lock_node)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/lock_node");	}	if (_cmds->add_handler("rtrmgr/0.1/unlock_node",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_unlock_node)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/unlock_node");	}	if (_cmds->add_handler("rtrmgr/0.1/save_config",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_save_config)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/save_config");	}	if (_cmds->add_handler("rtrmgr/0.1/load_config",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_load_config)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/load_config");	}	if (_cmds->add_handler("rtrmgr/0.1/set_config_directory",	    callback(this, &XrlRtrmgrTargetBase::handle_rtrmgr_0_1_set_config_directory)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "rtrmgr/0.1/set_config_directory");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_birth",	    callback(this, &XrlRtrmgrTargetBase::handle_finder_event_observer_0_1_xrl_target_birth)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "finder_event_observer/0.1/xrl_target_birth");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_death",	    callback(this, &XrlRtrmgrTargetBase::handle_finder_event_observer_0_1_xrl_target_death)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rtrmgr", "finder_event_observer/0.1/xrl_target_death");	}	_cmds->finalize();}voidXrlRtrmgrTargetBase::remove_handlers(){	_cmds->remove_handler("common/0.1/get_target_name");	_cmds->remove_handler("common/0.1/get_version");	_cmds->remove_handler("common/0.1/get_status");	_cmds->remove_handler("common/0.1/shutdown");	_cmds->remove_handler("rtrmgr/0.1/get_pid");	_cmds->remove_handler("rtrmgr/0.1/register_client");	_cmds->remove_handler("rtrmgr/0.1/unregister_client");	_cmds->remove_handler("rtrmgr/0.1/authenticate_client");	_cmds->remove_handler("rtrmgr/0.1/enter_config_mode");	_cmds->remove_handler("rtrmgr/0.1/leave_config_mode");	_cmds->remove_handler("rtrmgr/0.1/get_config_users");	_cmds->remove_handler("rtrmgr/0.1/get_running_config");	_cmds->remove_handler("rtrmgr/0.1/apply_config_change");	_cmds->remove_handler("rtrmgr/0.1/lock_config");	_cmds->remove_handler("rtrmgr/0.1/unlock_config");	_cmds->remove_handler("rtrmgr/0.1/lock_node");	_cmds->remove_handler("rtrmgr/0.1/unlock_node");	_cmds->remove_handler("rtrmgr/0.1/save_config");	_cmds->remove_handler("rtrmgr/0.1/load_config");	_cmds->remove_handler("rtrmgr/0.1/set_config_directory");	_cmds->remove_handler("finder_event_observer/0.1/xrl_target_birth");	_cmds->remove_handler("finder_event_observer/0.1/xrl_target_death");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -