libmoost
moost::service::remote_shell_server_impl Class Reference
Inheritance diagram for moost::service::remote_shell_server_impl:
Collaboration diagram for moost::service::remote_shell_server_impl:

List of all members.

Classes

struct  command
struct  noop_pre_shutdown_func

Public Member Functions

 remote_shell_server_impl (shared_ptr< asio::io_service > ios)
 ~remote_shell_server_impl ()
void run (remote_shell_iface *rsi)
void stop (const std::string &msg)
void remove_session (session_ptr p)
void set_appender_factory (appender_factory_ptr app_factory)
void set_default_stdout_state (bool enabled)
void set_default_stderr_state (bool enabled)
void set_listen_port (unsigned short port)
void set_pre_shutdown_function (boost::function0< void > &func)
void enable_local_shell (bool enabled)
void get_sessions_list (std::string &rv)
void process_command (session_ptr session, const std::string &cmd, const std::string &args)
const std::string & welcome () const

Private Member Functions

void handle_accept (socket_ptr socket, remote_shell_iface *rsi, const system::error_code &error)
void handle_stop (const std::string &msg)
void accept_session (remote_shell_iface *rsi)
void pre_shutdown ()
bool setup_stdio_snoopers ()
void teardown_stdio_snoopers ()
bool create_console_session (remote_shell_iface *rsi, session_ptr &new_session, stream_writer_ptr &writer)
bool setup_console_session (remote_shell_iface *rsi)
void command_thread (remote_shell_iface *rsi)

Private Attributes

shared_ptr< asio::io_service > m_ios
shared_ptr< tcp::acceptor > m_acceptor
std::set< session_ptrm_sessions
appender_factory_ptr m_app_factory
std::string m_welcome
bool m_default_stdout_state
bool m_default_stderr_state
bool m_enable_local
bool m_can_snoop_stdio
unsigned short m_listen_port
shared_ptr< thread > m_cmd_runner
std::queue< commandm_cmd_queue
mutex m_cmd_queue_mutex
condition_variable m_cmd_queue_cond
boost::function0< void > m_pre_shutdown_func

Detailed Description

Definition at line 74 of file remote_shell.cpp.


Constructor & Destructor Documentation

remote_shell_server_impl::remote_shell_server_impl ( shared_ptr< asio::io_service >  ios)

Definition at line 850 of file remote_shell.cpp.


Member Function Documentation

Definition at line 1040 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1097 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool remote_shell_server_impl::create_console_session ( remote_shell_iface rsi,
session_ptr new_session,
stream_writer_ptr writer 
) [private]

Definition at line 938 of file remote_shell.cpp.

Here is the caller graph for this function:

Definition at line 1185 of file remote_shell.cpp.

Here is the caller graph for this function:

void remote_shell_server_impl::get_sessions_list ( std::string &  rv)

Definition at line 1075 of file remote_shell.cpp.

void remote_shell_server_impl::handle_accept ( socket_ptr  socket,
remote_shell_iface rsi,
const system::error_code &  error 
) [private]

Definition at line 1020 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void remote_shell_server_impl::handle_stop ( const std::string &  msg) [private]

Definition at line 1054 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1069 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void remote_shell_server_impl::process_command ( session_ptr  session,
const std::string &  cmd,
const std::string &  args 
)

Definition at line 1087 of file remote_shell.cpp.

Definition at line 1190 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1160 of file remote_shell.cpp.

Here is the caller graph for this function:

Definition at line 1170 of file remote_shell.cpp.

Here is the caller graph for this function:

Definition at line 1165 of file remote_shell.cpp.

Here is the caller graph for this function:

void remote_shell_server_impl::set_listen_port ( unsigned short  port)

Definition at line 1175 of file remote_shell.cpp.

Here is the caller graph for this function:

void remote_shell_server_impl::set_pre_shutdown_function ( boost::function0< void > &  func)

Definition at line 1180 of file remote_shell.cpp.

Here is the caller graph for this function:

Definition at line 995 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 909 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void remote_shell_server_impl::stop ( const std::string &  msg)

Definition at line 1015 of file remote_shell.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 928 of file remote_shell.cpp.

Here is the caller graph for this function:

const std::string& moost::service::remote_shell_server_impl::welcome ( ) const [inline]

Definition at line 158 of file remote_shell.cpp.


Member Data Documentation

shared_ptr<tcp::acceptor> moost::service::remote_shell_server_impl::m_acceptor [private]

Definition at line 122 of file remote_shell.cpp.

Definition at line 138 of file remote_shell.cpp.

Definition at line 140 of file remote_shell.cpp.

Definition at line 137 of file remote_shell.cpp.

shared_ptr<asio::io_service> moost::service::remote_shell_server_impl::m_ios [private]

Definition at line 121 of file remote_shell.cpp.

Definition at line 136 of file remote_shell.cpp.

Definition at line 141 of file remote_shell.cpp.

Definition at line 131 of file remote_shell.cpp.


The documentation for this class was generated from the following file: