class CliClient

The class for the CLI client. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

There is one CLI client per CLI user (e.g., telnet connection).

 CliClient (CliNode& init_cli_node, XorpFd input_fd, XorpFd output_fd, const string& startup_cli_prompt)

CliClient

Constructor for a given CLI node and file descriptor.

Parameters:

init_cli_nodethe CliNode CLI node this client belongs to.
input_fdthe file descriptor for the CLI client to read data from.
output_fdthe file descriptor for the CLI client to write data to.
startup_cli_promptthe startup CLI prompt.
 ~CliClient ()

~CliClient

[virtual]

Destructor

bool  done ()

done

[const]

Test if the processing of any pending commands or pending data has complated.

Returns: true if processing of any pending commands or pending data has completed, otherwise false.

int  start_connection (string& error_msg)

start_connection

Start the connection.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop_connection (string& error_msg)

stop_connection

Stop the connection.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  cli_print (const string& msg)

cli_print

Print a message to the CLI user.

Parameters:

msgC++ string with the message to display.

Returns: the number of characters printed (not including the trailing '\0').

int  cli_flush ()

cli_flush

Flush the CLI output.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  set_log_output (bool v)

set_log_output

Add/remove this client for displaying log messages.

Parameters:

vif true, add this client for displaying messages, otherwise remove it.

Returns: XORP_OK on success, otherwise XORP_ERROR.

bool  is_log_output ()

is_log_output

[const]

Test if this client has been added for displaying log messages.

Returns: true if this client has been added for displaying log messages, otherwise false.

XorpFd  input_fd ()

input_fd

Get the file descriptor for reading the input from the user.

Returns: the file descriptor for reading the input from the user.

XorpFd  output_fd ()

output_fd

Get the file descriptor for writing the output to the user.

Returns: the file descriptor for writing the output to the user.

bool  is_input_tty ()

is_input_tty

[const]

Test if this client is associated with a terminal type input device.

Returns: true if this client is associated with a terminal type input device, otherwise false.

bool  is_output_tty ()

is_output_tty

[const]

Test if this client is associated with a terminal type output device.

Returns: true if this client is associated with a terminal type output device, otherwise false.

bool  is_network ()

is_network

[const]

Test if this client is associated with a network connection.

Returns: true if this client is associated with a network connection, otherwise false.

void  set_network_client (bool v)

set_network_client

Set the flag that associates the client with a network connection.

Parameters:

vtrue if this client is associated with a network connection.
bool  is_telnet ()

is_telnet

[const]

Test if this client is associated with a telnet connection.

Returns: true if this client is associated with a telnet connection, otherwise false.

bool  is_interactive ()

is_interactive

[const]

Test if this client is running in interactive mode.

Returns: true if this client is running in interactive mode, otherwise false.

const string&  cli_session_user_name ()

cli_session_user_name

[const]

Get the user name.

Returns: the user name.

const string&  cli_session_term_name ()

cli_session_term_name

[const]

Get the terminal name.

Returns: the terminal name.

const IPvX&  cli_session_from_address ()

cli_session_from_address

[const]

const TimeVal&  cli_session_start_time ()

cli_session_start_time

[const]

Get the start time for this connection.

Returns: a reference to TimeVal with the starting time for this connection.

const TimeVal&  cli_session_stop_time ()

cli_session_stop_time

[const]

Get the stop time for this connection.

Returns: a reference to TimeVal with the end time for this connection.

bool  is_cli_session_active ()

is_cli_session_active

[const]

Test if the CLI session is active (i.e., it has been setup and ready to use).

Returns: true if the CLI session is active, otherwise false.

uint32_t  cli_session_session_id ()

cli_session_session_id

[const]

Get the session ID.

Returns: the session ID for this client.

void  set_cli_session_user_name (const string& v)

set_cli_session_user_name

Set the user name.

Parameters:

vthe user name to set.
void  set_cli_session_term_name (const string& v)

set_cli_session_term_name

Set the terminal name.

Parameters:

vthe terminal name to set.
void  set_cli_session_from_address (const IPvX& v)

set_cli_session_from_address

Set the user network address.

Parameters:

vthe user network address to set.
void  set_cli_session_start_time (const TimeVal& v)

set_cli_session_start_time

Set the start time for this connection.

Parameters:

vthe start time for this connection.
void  set_cli_session_stop_time (const TimeVal& v)

set_cli_session_stop_time

Set the stop time for this connection.

Parameters:

vthe stop time for this connection.
void  set_is_cli_session_active (bool v)

set_is_cli_session_active

Set if this session is active.

Parameters:

vif true, the session is set as active, otherwise is set as non-active.
void  set_cli_session_session_id (uint32_t v)

set_cli_session_session_id

Set the session ID.

Parameters:

vthe session ID value to set.
void  post_process_command ()

post_process_command

Perform final processing of a command.

void  flush_process_command_output ()

flush_process_command_output

Flush the output of a command while it is still running

bool  is_waiting_for_data ()

is_waiting_for_data

[const]

Test if waiting for data from command processor.

Returns: true if waiting for data from command processor, otherwise false.

void  set_is_waiting_for_data (bool v)

set_is_waiting_for_data

Set a flag whether is waiting for data from command processor.

Parameters:

vif true, the session is set as waiting for data, otherwise is set as non-waiting.
const string&  current_cli_prompt ()

current_cli_prompt

[const]

Get the current CLI prompt.

Returns: the current CLI prompt.

void  set_current_cli_prompt (const string& cli_prompt)

set_current_cli_prompt

Set the current CLI prompt.

Parameters:

cli_promptthe current CLI prompt to set.
void  terminal_resized ()

terminal_resized

Update the terminal-related information after it has been resized.


Generated by: pavlin on kobe.xorp.net on Wed Jan 7 19:10:53 2009, using kdoc 2.0a54+XORP.