xorp

xrl_xorpsh_interface.hh

00001 // -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*-
00002 
00003 // Copyright (c) 2001-2011 XORP, Inc and Others
00004 //
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License, Version 2, June
00007 // 1991 as published by the Free Software Foundation. Redistribution
00008 // and/or modification of this program under the terms of any other
00009 // version of the GNU General Public License is not permitted.
00010 // 
00011 // This program is distributed in the hope that it will be useful, but
00012 // WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details,
00014 // see the GNU General Public License, Version 2, a copy of which can be
00015 // found in the XORP LICENSE.gpl file.
00016 // 
00017 // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA;
00018 // http://xorp.net
00019 
00020 
00021 #ifdef XORP_USE_XORPSH
00022 
00023 
00024 #ifndef __RTRMGR_XRL_XORPSH_INTERFACE_HH__
00025 #define __RTRMGR_XRL_XORPSH_INTERFACE_HH__
00026 
00027 #include "xrl/targets/xorpsh_base.hh"
00028 
00029 
00030 class XorpShell;
00031 
00032 class XrlXorpshInterface : public XrlXorpshTargetBase {
00033 public:
00034     XrlXorpshInterface(XrlRouter* r, XorpShell& xorpsh);
00035 
00036     XrlCmdError common_0_1_get_target_name(
00037     // Output values, 
00038     string& name);
00039 
00040     XrlCmdError common_0_1_get_version(
00041     // Output values, 
00042     string& version);
00043 
00047     XrlCmdError common_0_1_get_status(// Output values,
00048                       uint32_t& status,
00049                       string&   reason);
00050     
00054     XrlCmdError common_0_1_shutdown();
00055     XrlCmdError common_0_1_startup() { return XrlCmdError::OKAY(); }
00056 
00057     XrlCmdError rtrmgr_client_0_2_new_config_user(
00058     // Input values, 
00059     const uint32_t& user_id);
00060 
00061     XrlCmdError rtrmgr_client_0_2_config_saved_done(
00062     // Input values,
00063     const bool& success,
00064     const string&   errmsg);
00065 
00066     XrlCmdError rtrmgr_client_0_2_config_change_done(
00067     // Input values, 
00068     const bool& success, 
00069     const string&   errmsg);
00070 
00071     XrlCmdError rtrmgr_client_0_2_config_changed(
00072     // Input values, 
00073     const uint32_t& user_id, 
00074     const string&   deltas, 
00075     const string&   deletions);
00076 
00077     XrlCmdError rtrmgr_client_0_2_module_status(
00078     // Input values,
00079         const string&   modname,
00080         const uint32_t& status);
00081 
00082 private:
00083     XorpShell&  _xorpsh;
00084 
00085     bool    _verbose;       // Set to true if output is verbose
00086 };
00087 
00088 #endif // __RTRMGR_XRL_XORPSH_INTERFACE_HH__
00089 #endif
 All Classes Namespaces Functions Variables Typedefs Enumerations