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

📄 coord_base.cc

📁 xorp源码hg
💻 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/coord_base.cc,v 1.19 2007/02/16 22:47:49 pavlin Exp $"#include "coord_base.hh"XrlCoordTargetBase::XrlCoordTargetBase(XrlCmdMap* cmds)    : _cmds(cmds){    if (_cmds)	add_handlers();}XrlCoordTargetBase::~XrlCoordTargetBase(){    if (_cmds)	remove_handlers();}boolXrlCoordTargetBase::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 XrlCmdErrorXrlCoordTargetBase::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 XrlCmdErrorXrlCoordTargetBase::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 XrlCmdErrorXrlCoordTargetBase::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 XrlCmdErrorXrlCoordTargetBase::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 XrlCmdErrorXrlCoordTargetBase::handle_coord_0_1_command(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()), "coord/0.1/command");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = coord_0_1_command(	    xa_inputs.get_string("command"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "coord/0.1/command", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlCoordTargetBase::handle_coord_0_1_status(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()), "coord/0.1/status");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    string status;    try {	XrlCmdError e = coord_0_1_status(	    xa_inputs.get_string("peer"),	    status);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "coord/0.1/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);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlCoordTargetBase::handle_coord_0_1_pending(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()), "coord/0.1/pending");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    bool pending;    try {	XrlCmdError e = coord_0_1_pending(	    pending);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "coord/0.1/pending", 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("pending", pending);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlCoordTargetBase::handle_datain_0_1_receive(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 6) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(6), XORP_UINT_CAST(xa_inputs.size()), "datain/0.1/receive");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = datain_0_1_receive(	    xa_inputs.get_string("peer"),	    xa_inputs.get_uint32("genid"),	    xa_inputs.get_bool("status"),	    xa_inputs.get_uint32("secs"),	    xa_inputs.get_uint32("micro"),	    xa_inputs.get_binary("data"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "datain/0.1/receive", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlCoordTargetBase::handle_datain_0_1_error(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()), "datain/0.1/error");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = datain_0_1_error(	    xa_inputs.get_string("peer"),	    xa_inputs.get_uint32("genid"),	    xa_inputs.get_string("reason"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "datain/0.1/error", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlCoordTargetBase::handle_datain_0_1_closed(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()), "datain/0.1/closed");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = datain_0_1_closed(	    xa_inputs.get_string("peer"),	    xa_inputs.get_uint32("genid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "datain/0.1/closed", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}voidXrlCoordTargetBase::add_handlers(){	if (_cmds->add_handler("common/0.1/get_target_name",	    callback(this, &XrlCoordTargetBase::handle_common_0_1_get_target_name)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "common/0.1/get_target_name");	}	if (_cmds->add_handler("common/0.1/get_version",	    callback(this, &XrlCoordTargetBase::handle_common_0_1_get_version)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "common/0.1/get_version");	}	if (_cmds->add_handler("common/0.1/get_status",	    callback(this, &XrlCoordTargetBase::handle_common_0_1_get_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "common/0.1/get_status");	}	if (_cmds->add_handler("common/0.1/shutdown",	    callback(this, &XrlCoordTargetBase::handle_common_0_1_shutdown)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "common/0.1/shutdown");	}	if (_cmds->add_handler("coord/0.1/command",	    callback(this, &XrlCoordTargetBase::handle_coord_0_1_command)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "coord/0.1/command");	}	if (_cmds->add_handler("coord/0.1/status",	    callback(this, &XrlCoordTargetBase::handle_coord_0_1_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "coord/0.1/status");	}	if (_cmds->add_handler("coord/0.1/pending",	    callback(this, &XrlCoordTargetBase::handle_coord_0_1_pending)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "coord/0.1/pending");	}	if (_cmds->add_handler("datain/0.1/receive",	    callback(this, &XrlCoordTargetBase::handle_datain_0_1_receive)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "datain/0.1/receive");	}	if (_cmds->add_handler("datain/0.1/error",	    callback(this, &XrlCoordTargetBase::handle_datain_0_1_error)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "datain/0.1/error");	}	if (_cmds->add_handler("datain/0.1/closed",	    callback(this, &XrlCoordTargetBase::handle_datain_0_1_closed)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "coord", "datain/0.1/closed");	}	_cmds->finalize();}voidXrlCoordTargetBase::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("coord/0.1/command");	_cmds->remove_handler("coord/0.1/status");	_cmds->remove_handler("coord/0.1/pending");	_cmds->remove_handler("datain/0.1/receive");	_cmds->remove_handler("datain/0.1/error");	_cmds->remove_handler("datain/0.1/closed");}

⌨️ 快捷键说明

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