cli_base.hh

来自「BCAST Implementation for NS2」· HH 代码 · 共 330 行

HH
330
字号
/* * Copyright (c) 2001-2003 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'. * * $XORP: xorp/xrl/targets/cli_base.hh,v 1.13 2003/06/19 00:44:45 hodson Exp $ */#ifndef __XRL_INTERFACES_CLI_BASE_HH__#define __XRL_INTERFACES_CLI_BASE_HH__#undef XORP_LIBRARY_NAME#define XORP_LIBRARY_NAME "XrlCliTarget"#include "libxorp/xlog.h"#include "libxipc/xrl_cmd_map.hh"class XrlCliTargetBase {protected:    XrlCmdMap* _cmds;public:    XrlCliTargetBase(XrlCmdMap* cmds) : _cmds(cmds) { add_handlers(); }    virtual ~XrlCliTargetBase() { remove_handlers(); }    inline const string& name() const { return _cmds->name(); }    inline const char* version() const { return "cli/0.0"; }protected:    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get name of Xrl Target     */    virtual XrlCmdError common_0_1_get_target_name(	// Output values, 	string&	name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get version string from Xrl Target     */    virtual XrlCmdError common_0_1_get_version(	// Output values, 	string&	version) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Get status of Xrl Target     */    virtual XrlCmdError common_0_1_get_status(	// Output values, 	uint32_t&	status, 	string&	reason) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Request clean shutdown of Xrl Target     */    virtual XrlCmdError common_0_1_shutdown() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Enable/disable/start/stop the CLI.     */    virtual XrlCmdError cli_manager_0_1_enable_cli() = 0;    virtual XrlCmdError cli_manager_0_1_disable_cli() = 0;    virtual XrlCmdError cli_manager_0_1_start_cli() = 0;    virtual XrlCmdError cli_manager_0_1_stop_cli() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add a subnet address to the list of subnet addresses enabled for CLI     *  access. This method can be called more than once to add a number of     *  subnet addresses.     *       *  @param subnet_addr the subnet address to add.     */    virtual XrlCmdError cli_manager_0_1_add_enable_cli_access_from_subnet4(	// Input values, 	const IPv4Net&	subnet_addr) = 0;    virtual XrlCmdError cli_manager_0_1_add_enable_cli_access_from_subnet6(	// Input values, 	const IPv6Net&	subnet_addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Delete a subnet address from the list of subnet addresses enabled for     *  CLI access.     *       *  @param subnet_addr the subnet address to delete.     */    virtual XrlCmdError cli_manager_0_1_delete_enable_cli_access_from_subnet4(	// Input values, 	const IPv4Net&	subnet_addr) = 0;    virtual XrlCmdError cli_manager_0_1_delete_enable_cli_access_from_subnet6(	// Input values, 	const IPv6Net&	subnet_addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add a subnet address to the list of subnet addresses disabled for CLI     *  access. This method can be called more than once to add a number of     *  subnet addresses.     *       *  @param subnet_addr the subnet address to add.     */    virtual XrlCmdError cli_manager_0_1_add_disable_cli_access_from_subnet4(	// Input values, 	const IPv4Net&	subnet_addr) = 0;    virtual XrlCmdError cli_manager_0_1_add_disable_cli_access_from_subnet6(	// Input values, 	const IPv6Net&	subnet_addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Delete a subnet address from the list of subnet addresses disabled for     *  CLI access.     *       *  @param subnet_addr the subnet address to delete.     */    virtual XrlCmdError cli_manager_0_1_delete_disable_cli_access_from_subnet4(	// Input values, 	const IPv4Net&	subnet_addr) = 0;    virtual XrlCmdError cli_manager_0_1_delete_disable_cli_access_from_subnet6(	// Input values, 	const IPv6Net&	subnet_addr) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Add a CLI command to the CLI manager     *       *  @param processor_name the name of the module that will process that     *  command.     *       *  @param command_name the name of the command to add.     *       *  @param command_help the help for the command to add.     *       *  @param is_command_cd is true, the string that will replace the CLI     *  prompt after we "cd" to that level of the CLI command-tree.     *       *  @param command_cd_prompt if     *       *  @param is_command_processor if true, this is a processing command that     *  would be performed by processor_name.     */    virtual XrlCmdError cli_manager_0_1_add_cli_command(	// Input values, 	const string&	processor_name, 	const string&	command_name, 	const string&	command_help, 	const bool&	is_command_cd, 	const string&	command_cd_prompt, 	const bool&	is_command_processor) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *       *  Delete a CLI command from the CLI manager     *       *  @param processor_name the name of the module that sends the request.     *       *  @param command_name the name of the command to delete.     */    virtual XrlCmdError cli_manager_0_1_delete_cli_command(	// Input values, 	const string&	processor_name, 	const string&	command_name) = 0;private:    const XrlCmdError handle_common_0_1_get_target_name(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_version(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_status(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_shutdown(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_enable_cli(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_disable_cli(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_start_cli(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_stop_cli(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_add_enable_cli_access_from_subnet4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_add_enable_cli_access_from_subnet6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_delete_enable_cli_access_from_subnet4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_delete_enable_cli_access_from_subnet6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_add_disable_cli_access_from_subnet4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_add_disable_cli_access_from_subnet6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_delete_disable_cli_access_from_subnet4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_delete_disable_cli_access_from_subnet6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_add_cli_command(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_cli_manager_0_1_delete_cli_command(const XrlArgs& in, XrlArgs* out);    void add_handlers()    {	if (_cmds->add_handler("common/0.1/get_target_name", 	    callback(this, &XrlCliTargetBase::handle_common_0_1_get_target_name)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/common/0.1/get_target_name");	}	if (_cmds->add_handler("common/0.1/get_version", 	    callback(this, &XrlCliTargetBase::handle_common_0_1_get_version)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/common/0.1/get_version");	}	if (_cmds->add_handler("common/0.1/get_status", 	    callback(this, &XrlCliTargetBase::handle_common_0_1_get_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/common/0.1/get_status");	}	if (_cmds->add_handler("common/0.1/shutdown", 	    callback(this, &XrlCliTargetBase::handle_common_0_1_shutdown)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/common/0.1/shutdown");	}	if (_cmds->add_handler("cli_manager/0.1/enable_cli", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_enable_cli)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/enable_cli");	}	if (_cmds->add_handler("cli_manager/0.1/disable_cli", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_disable_cli)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/disable_cli");	}	if (_cmds->add_handler("cli_manager/0.1/start_cli", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_start_cli)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/start_cli");	}	if (_cmds->add_handler("cli_manager/0.1/stop_cli", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_stop_cli)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/stop_cli");	}	if (_cmds->add_handler("cli_manager/0.1/add_enable_cli_access_from_subnet4", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_add_enable_cli_access_from_subnet4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/add_enable_cli_access_from_subnet4");	}	if (_cmds->add_handler("cli_manager/0.1/add_enable_cli_access_from_subnet6", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_add_enable_cli_access_from_subnet6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/add_enable_cli_access_from_subnet6");	}	if (_cmds->add_handler("cli_manager/0.1/delete_enable_cli_access_from_subnet4", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_delete_enable_cli_access_from_subnet4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/delete_enable_cli_access_from_subnet4");	}	if (_cmds->add_handler("cli_manager/0.1/delete_enable_cli_access_from_subnet6", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_delete_enable_cli_access_from_subnet6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/delete_enable_cli_access_from_subnet6");	}	if (_cmds->add_handler("cli_manager/0.1/add_disable_cli_access_from_subnet4", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_add_disable_cli_access_from_subnet4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/add_disable_cli_access_from_subnet4");	}	if (_cmds->add_handler("cli_manager/0.1/add_disable_cli_access_from_subnet6", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_add_disable_cli_access_from_subnet6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/add_disable_cli_access_from_subnet6");	}	if (_cmds->add_handler("cli_manager/0.1/delete_disable_cli_access_from_subnet4", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_delete_disable_cli_access_from_subnet4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/delete_disable_cli_access_from_subnet4");	}	if (_cmds->add_handler("cli_manager/0.1/delete_disable_cli_access_from_subnet6", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_delete_disable_cli_access_from_subnet6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/delete_disable_cli_access_from_subnet6");	}	if (_cmds->add_handler("cli_manager/0.1/add_cli_command", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_add_cli_command)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/add_cli_command");	}	if (_cmds->add_handler("cli_manager/0.1/delete_cli_command", 	    callback(this, &XrlCliTargetBase::handle_cli_manager_0_1_delete_cli_command)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://cli/cli_manager/0.1/delete_cli_command");	}	_cmds->finalize();    }    void 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("cli_manager/0.1/enable_cli");	_cmds->remove_handler("cli_manager/0.1/disable_cli");	_cmds->remove_handler("cli_manager/0.1/start_cli");	_cmds->remove_handler("cli_manager/0.1/stop_cli");	_cmds->remove_handler("cli_manager/0.1/add_enable_cli_access_from_subnet4");	_cmds->remove_handler("cli_manager/0.1/add_enable_cli_access_from_subnet6");	_cmds->remove_handler("cli_manager/0.1/delete_enable_cli_access_from_subnet4");	_cmds->remove_handler("cli_manager/0.1/delete_enable_cli_access_from_subnet6");	_cmds->remove_handler("cli_manager/0.1/add_disable_cli_access_from_subnet4");	_cmds->remove_handler("cli_manager/0.1/add_disable_cli_access_from_subnet6");	_cmds->remove_handler("cli_manager/0.1/delete_disable_cli_access_from_subnet4");	_cmds->remove_handler("cli_manager/0.1/delete_disable_cli_access_from_subnet6");	_cmds->remove_handler("cli_manager/0.1/add_cli_command");	_cmds->remove_handler("cli_manager/0.1/delete_cli_command");    }};#endif /* __XRL_INTERFACES_CLI_BASE_HH__ */

⌨️ 快捷键说明

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