📄 policy_base.cc
字号:
{ 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()), "policy/0.1/update_set"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_update_set( xa_inputs.get_string("type"), xa_inputs.get_string("set"), xa_inputs.get_string("elements")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/update_set", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_delete_set(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()), "policy/0.1/delete_set"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_delete_set( xa_inputs.get_string("set")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/delete_set", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_add_to_set(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()), "policy/0.1/add_to_set"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_add_to_set( xa_inputs.get_string("type"), xa_inputs.get_string("set"), xa_inputs.get_string("element")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/add_to_set", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_delete_from_set(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()), "policy/0.1/delete_from_set"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_delete_from_set( xa_inputs.get_string("type"), xa_inputs.get_string("set"), xa_inputs.get_string("element")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/delete_from_set", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_done_global_policy_conf(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 0) { XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s", XORP_UINT_CAST(0), XORP_UINT_CAST(xa_inputs.size()), "policy/0.1/done_global_policy_conf"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_done_global_policy_conf(); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/done_global_policy_conf", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_import(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()), "policy/0.1/import"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_import( xa_inputs.get_string("protocol"), xa_inputs.get_string("policies")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/import", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_export(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()), "policy/0.1/export"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_export( xa_inputs.get_string("protocol"), xa_inputs.get_string("policies")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/export", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_add_varmap(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 5) { XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s", XORP_UINT_CAST(5), XORP_UINT_CAST(xa_inputs.size()), "policy/0.1/add_varmap"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_add_varmap( xa_inputs.get_string("protocol"), xa_inputs.get_string("variable"), xa_inputs.get_string("type"), xa_inputs.get_string("access"), xa_inputs.get_uint32("id")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/add_varmap", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_dump_state(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()), "policy/0.1/dump_state"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string state; try { XrlCmdError e = policy_0_1_dump_state( xa_inputs.get_uint32("id"), state); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/dump_state", 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("state", state); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPolicyTargetBase::handle_policy_0_1_set_proto_target(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()), "policy/0.1/set_proto_target"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = policy_0_1_set_proto_target( xa_inputs.get_string("protocol"), xa_inputs.get_string("target")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "policy/0.1/set_proto_target", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}voidXrlPolicyTargetBase::add_handlers(){ if (_cmds->add_handler("common/0.1/get_target_name", callback(this, &XrlPolicyTargetBase::handle_common_0_1_get_target_name)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "common/0.1/get_target_name"); } if (_cmds->add_handler("common/0.1/get_version", callback(this, &XrlPolicyTargetBase::handle_common_0_1_get_version)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "common/0.1/get_version"); } if (_cmds->add_handler("common/0.1/get_status", callback(this, &XrlPolicyTargetBase::handle_common_0_1_get_status)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "common/0.1/get_status"); } if (_cmds->add_handler("common/0.1/shutdown", callback(this, &XrlPolicyTargetBase::handle_common_0_1_shutdown)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "common/0.1/shutdown"); } if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_birth", callback(this, &XrlPolicyTargetBase::handle_finder_event_observer_0_1_xrl_target_birth)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "finder_event_observer/0.1/xrl_target_birth"); } if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_death", callback(this, &XrlPolicyTargetBase::handle_finder_event_observer_0_1_xrl_target_death)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "finder_event_observer/0.1/xrl_target_death"); } if (_cmds->add_handler("policy/0.1/create_term", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_create_term)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/create_term"); } if (_cmds->add_handler("policy/0.1/delete_term", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_delete_term)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/delete_term"); } if (_cmds->add_handler("policy/0.1/update_term_block", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_update_term_block)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/update_term_block"); } if (_cmds->add_handler("policy/0.1/create_policy", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_create_policy)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/create_policy"); } if (_cmds->add_handler("policy/0.1/delete_policy", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_delete_policy)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/delete_policy"); } if (_cmds->add_handler("policy/0.1/create_set", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_create_set)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/create_set"); } if (_cmds->add_handler("policy/0.1/update_set", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_update_set)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/update_set"); } if (_cmds->add_handler("policy/0.1/delete_set", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_delete_set)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/delete_set"); } if (_cmds->add_handler("policy/0.1/add_to_set", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_add_to_set)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/add_to_set"); } if (_cmds->add_handler("policy/0.1/delete_from_set", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_delete_from_set)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/delete_from_set"); } if (_cmds->add_handler("policy/0.1/done_global_policy_conf", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_done_global_policy_conf)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/done_global_policy_conf"); } if (_cmds->add_handler("policy/0.1/import", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_import)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/import"); } if (_cmds->add_handler("policy/0.1/export", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_export)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/export"); } if (_cmds->add_handler("policy/0.1/add_varmap", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_add_varmap)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/add_varmap"); } if (_cmds->add_handler("policy/0.1/dump_state", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_dump_state)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/dump_state"); } if (_cmds->add_handler("policy/0.1/set_proto_target", callback(this, &XrlPolicyTargetBase::handle_policy_0_1_set_proto_target)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "policy", "policy/0.1/set_proto_target"); } _cmds->finalize();}voidXrlPolicyTargetBase::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("finder_event_observer/0.1/xrl_target_birth"); _cmds->remove_handler("finder_event_observer/0.1/xrl_target_death"); _cmds->remove_handler("policy/0.1/create_term"); _cmds->remove_handler("policy/0.1/delete_term"); _cmds->remove_handler("policy/0.1/update_term_block"); _cmds->remove_handler("policy/0.1/create_policy"); _cmds->remove_handler("policy/0.1/delete_policy"); _cmds->remove_handler("policy/0.1/create_set"); _cmds->remove_handler("policy/0.1/update_set"); _cmds->remove_handler("policy/0.1/delete_set"); _cmds->remove_handler("policy/0.1/add_to_set"); _cmds->remove_handler("policy/0.1/delete_from_set"); _cmds->remove_handler("policy/0.1/done_global_policy_conf"); _cmds->remove_handler("policy/0.1/import"); _cmds->remove_handler("policy/0.1/export"); _cmds->remove_handler("policy/0.1/add_varmap"); _cmds->remove_handler("policy/0.1/dump_state"); _cmds->remove_handler("policy/0.1/set_proto_target");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -