remoteexec.cc

来自「This Source-Navigator, an IDE for C/C++/」· CC 代码 · 共 71 行

CC
71
字号
// $Header: /cvsroot/sourcenav/src/snavigator/demo/c++_demo/glish/RemoteExec.cc,v 1.1.1.1 2002/04/18 23:35:25 mdejong Exp $#include <stdio.h>#include <string.h>#include "Glish/Value.h"#include "Glish/Client.h"#include "Channel.h"#include "RemoteExec.h"RemoteExec::RemoteExec( Channel* arg_daemon_channel,			const char* arg_executable, const char** argv )    : Executable( arg_executable )	{	daemon_channel = arg_daemon_channel;	char id_buf[64];	static int remote_exec_id = 0;	sprintf( id_buf, "remote task %d", ++remote_exec_id );	id = strdup( id_buf );	int argc = 0;	while ( argv[argc] )		++argc;	charptr* client_argv = new charptr[argc + 1];	client_argv[0] = id;	for ( int i = 1; i <= argc; ++i )		client_argv[i] = argv[i-1];	Value argv_value( client_argv, argc + 1, COPY_ARRAY );	send_event( daemon_channel->WriteFD(), "client", &argv_value );	delete client_argv;	}RemoteExec::~RemoteExec()	{	if ( Active() )		{		Value id_value( id );		send_event( daemon_channel->WriteFD(), "kill", &id_value );		}	delete id;	}void RemoteExec::Ping()	{	if ( Active() )		{		Value id_value( id );		send_event( daemon_channel->WriteFD(), "ping", &id_value );		}	}int RemoteExec::Active()	{	if ( has_exited || exec_error )		return 0;	else		return 1;	// ### query agent?	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?