@ -240,9 +240,9 @@ namespace epee
}
template < class chain_handler >
bool run ( chain_handler ch_handler , const std : : string & prompt = " # " , const std : : string & usage = " " )
bool run ( chain_handler ch_handler , const std : : string & prompt = " # " , const std : : string & usage = " " , std : : function < void ( void ) > exit_handler = NULL )
{
return run ( prompt , usage , [ & ] ( const std : : string & cmd ) { return ch_handler ( cmd ) ; } , [ ] { } ) ;
return run ( prompt , usage , [ & ] ( const std : : string & cmd ) { return ch_handler ( cmd ) ; } , exit_handler ) ;
}
void stop ( )
@ -252,8 +252,8 @@ namespace epee
}
private :
template < typename t_cmd_handler , typename t_exit_handler >
bool run ( const std : : string & prompt , const std : : string & usage , const t_cmd_handler & cmd_handler , const t_exit_handler & exit_handler )
template < typename t_cmd_handler >
bool run ( const std : : string & prompt , const std : : string & usage , const t_cmd_handler & cmd_handler , std : : function < void ( void ) > exit_handler )
{
TRY_ENTRY ( ) ;
bool continue_handle = true ;
@ -429,9 +429,9 @@ namespace epee
std : : unique_ptr < boost : : thread > m_console_thread ;
async_console_handler m_console_handler ;
public :
bool start_handling ( const std : : string & prompt , const std : : string & usage_string = " " )
bool start_handling ( const std : : string & prompt , const std : : string & usage_string = " " , std : : function < void ( void ) > exit_handler = NULL )
{
m_console_thread . reset ( new boost : : thread ( boost : : bind ( & console_handlers_binder : : run_handling , this , prompt , usage_string )) ) ;
m_console_thread . reset ( new boost : : thread ( boost : : bind ( & console_handlers_binder : : run_handling , this , prompt , usage_string , exit_handler )) ) ;
m_console_thread - > detach ( ) ;
return true ;
}
@ -441,9 +441,9 @@ namespace epee
m_console_handler . stop ( ) ;
}
bool run_handling ( const std : : string & prompt , const std : : string & usage_string )
bool run_handling ( const std : : string & prompt , const std : : string & usage_string , std : : function < void ( void ) > exit_handler = NULL )
{
return m_console_handler . run ( boost : : bind ( & console_handlers_binder : : process_command_str , this , _1 ) , prompt , usage_string );
return m_console_handler . run ( boost : : bind ( & console_handlers_binder : : process_command_str , this , _1 ) , prompt , usage_string , exit_handler );
}
} ;