📄 finder_client_base.cc
字号:
/* * Copyright (c) 2001-2007 International Computer Science Institute * See LICENSE file for licensing, conditions, and warranties on use. * * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED * * Generated by 'tgt-gen'. */#ident "$XORP: xorp/xrl/targets/finder_client_base.cc,v 1.19 2007/02/16 22:47:51 pavlin Exp $"#include "finder_client_base.hh"XrlFinderclientTargetBase::XrlFinderclientTargetBase(XrlCmdMap* cmds) : _cmds(cmds){ if (_cmds) add_handlers();}XrlFinderclientTargetBase::~XrlFinderclientTargetBase(){ if (_cmds) remove_handlers();}boolXrlFinderclientTargetBase::set_command_map(XrlCmdMap* cmds){ if (_cmds == 0 && cmds) { _cmds = cmds; add_handlers(); return true; } if (_cmds && cmds == 0) { remove_handlers(); _cmds = cmds; return true; } return false;}const XrlCmdErrorXrlFinderclientTargetBase::handle_common_0_1_get_target_name(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()), "common/0.1/get_target_name"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string name; try { XrlCmdError e = common_0_1_get_target_name( name); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "common/0.1/get_target_name", 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("name", name); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_common_0_1_get_version(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()), "common/0.1/get_version"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string version; try { XrlCmdError e = common_0_1_get_version( version); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "common/0.1/get_version", 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("version", version); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_common_0_1_get_status(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()), "common/0.1/get_status"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t status; string reason; try { XrlCmdError e = common_0_1_get_status( status, reason); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "common/0.1/get_status", 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("status", status); pxa_outputs->add("reason", reason); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_common_0_1_shutdown(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()), "common/0.1/shutdown"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = common_0_1_shutdown(); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "common/0.1/shutdown", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_finder_client_0_2_hello(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()), "finder_client/0.2/hello"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = finder_client_0_2_hello(); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "finder_client/0.2/hello", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_finder_client_0_2_remove_xrl_from_cache(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()), "finder_client/0.2/remove_xrl_from_cache"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = finder_client_0_2_remove_xrl_from_cache( xa_inputs.get_string("xrl")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "finder_client/0.2/remove_xrl_from_cache", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_finder_client_0_2_remove_xrls_for_target_from_cache(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()), "finder_client/0.2/remove_xrls_for_target_from_cache"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = finder_client_0_2_remove_xrls_for_target_from_cache( xa_inputs.get_string("target_name")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "finder_client/0.2/remove_xrls_for_target_from_cache", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlFinderclientTargetBase::handle_finder_client_0_2_dispatch_tunneled_xrl(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()), "finder_client/0.2/dispatch_tunneled_xrl"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t xrl_error; string xrl_error_note; try { XrlCmdError e = finder_client_0_2_dispatch_tunneled_xrl( xa_inputs.get_string("xrl"), xrl_error, xrl_error_note); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "finder_client/0.2/dispatch_tunneled_xrl", 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("xrl_error", xrl_error); pxa_outputs->add("xrl_error_note", xrl_error_note); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}voidXrlFinderclientTargetBase::add_handlers(){ if (_cmds->add_handler("common/0.1/get_target_name", callback(this, &XrlFinderclientTargetBase::handle_common_0_1_get_target_name)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "common/0.1/get_target_name"); } if (_cmds->add_handler("common/0.1/get_version", callback(this, &XrlFinderclientTargetBase::handle_common_0_1_get_version)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "common/0.1/get_version"); } if (_cmds->add_handler("common/0.1/get_status", callback(this, &XrlFinderclientTargetBase::handle_common_0_1_get_status)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "common/0.1/get_status"); } if (_cmds->add_handler("common/0.1/shutdown", callback(this, &XrlFinderclientTargetBase::handle_common_0_1_shutdown)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "common/0.1/shutdown"); } if (_cmds->add_handler("finder_client/0.2/hello", callback(this, &XrlFinderclientTargetBase::handle_finder_client_0_2_hello)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "finder_client/0.2/hello"); } if (_cmds->add_handler("finder_client/0.2/remove_xrl_from_cache", callback(this, &XrlFinderclientTargetBase::handle_finder_client_0_2_remove_xrl_from_cache)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "finder_client/0.2/remove_xrl_from_cache"); } if (_cmds->add_handler("finder_client/0.2/remove_xrls_for_target_from_cache", callback(this, &XrlFinderclientTargetBase::handle_finder_client_0_2_remove_xrls_for_target_from_cache)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "finder_client/0.2/remove_xrls_for_target_from_cache"); } if (_cmds->add_handler("finder_client/0.2/dispatch_tunneled_xrl", callback(this, &XrlFinderclientTargetBase::handle_finder_client_0_2_dispatch_tunneled_xrl)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "finderclient", "finder_client/0.2/dispatch_tunneled_xrl"); } _cmds->finalize();}voidXrlFinderclientTargetBase::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_client/0.2/hello"); _cmds->remove_handler("finder_client/0.2/remove_xrl_from_cache"); _cmds->remove_handler("finder_client/0.2/remove_xrls_for_target_from_cache"); _cmds->remove_handler("finder_client/0.2/dispatch_tunneled_xrl");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -