various bug fixes
This commit is contained in:
parent
178dcea0c2
commit
dff6b72ace
4 changed files with 39 additions and 4 deletions
|
|
@ -65,7 +65,7 @@ namespace fc { namespace json {
|
|||
this->_vtable.reset(new fc::detail::vtable<InterfaceType,fc::detail::actor_member>() );
|
||||
this->_vtable->template visit_other<InterfaceType>( fc::json::detail::vtable_visitor(_con) );
|
||||
}
|
||||
const rpc_connection& connection()const { return _con; }
|
||||
const rpc_connection::ptr& connection()const { return _con; }
|
||||
|
||||
private:
|
||||
rpc_connection::ptr _con;
|
||||
|
|
|
|||
|
|
@ -16,19 +16,45 @@ namespace fc {
|
|||
_handlers.push_back( c );
|
||||
return reinterpret_cast<connection_id_type>(c);
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
template<typename Arg>
|
||||
void emit( Arg&& arg ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( fc::forward<Arg>(arg) );
|
||||
}
|
||||
}
|
||||
template<typename Arg>
|
||||
void operator()( Arg&& arg ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( fc::forward<Arg>(arg) );
|
||||
}
|
||||
}
|
||||
template<typename Arg,typename Arg2>
|
||||
void emit( Arg&& arg, Arg2&& arg2 ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( fc::forward<Arg>(arg), fc::forward<Arg2>(arg2) );
|
||||
}
|
||||
}
|
||||
template<typename Arg, typename Arg2>
|
||||
void operator()( Arg&& arg, Arg2&& arg2 ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( fc::forward<Arg>(arg), fc::forward<Arg2>(arg2) );
|
||||
}
|
||||
}
|
||||
#else
|
||||
template<typename... Args>
|
||||
void emit( Args&&... args ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( args... );
|
||||
(*_handlers[i])( fc::forward<Args>(args)... );
|
||||
}
|
||||
}
|
||||
template<typename... Args>
|
||||
void operator()( Args&&... args ) {
|
||||
for( size_t i = 0; i < _handlers.size(); ++i ) {
|
||||
(*_handlers[i])( args... );
|
||||
(*_handlers[i])( fc::forward<Args>(args)... );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void disconnect( connection_id_type cid ) {
|
||||
auto itr = _handlers.begin();
|
||||
|
|
|
|||
|
|
@ -103,6 +103,13 @@ namespace fc {
|
|||
*/
|
||||
void mkdir( const fc::path& remote_dir, int mode = owner_read|owner_write|owner_exec );
|
||||
|
||||
/**
|
||||
* Create all parent directories for remote_dir if they do not exist.
|
||||
*
|
||||
* @post remote_dir exists.
|
||||
*/
|
||||
void create_directories( const fc::path& remote_dir, int mode = owner_read|owner_write|owner_exec );
|
||||
|
||||
void close();
|
||||
|
||||
client();
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@ namespace fc {
|
|||
* @brief returns a stream that reads from the process' stderr
|
||||
*/
|
||||
fc::istream& err_stream()const;
|
||||
|
||||
process& operator=( const process& p );
|
||||
private:
|
||||
friend class client;
|
||||
process( client& c, const fc::string& cmd, const fc::string& pty_type = fc::string() );
|
||||
|
|
|
|||
Loading…
Reference in a new issue