コード例 #1
0
ファイル: melted_local.c プロジェクト: jacharry7/melted
response_codes melted_command_get_error( command_argument cmd )
{
	response_codes ret = mvcp_response_get_error_code( cmd->response );
	if ( ret == RESPONSE_SUCCESS_N || ret == RESPONSE_SUCCESS_1 )
		ret = RESPONSE_SUCCESS;
	return ret;
}
コード例 #2
0
ファイル: mvcp_remote.c プロジェクト: ksri99/shotcut
static int mvcp_remote_read_response( mvcp_socket socket, mvcp_response response )
{
	char temp[ 10240 ];
	int length;
	int terminated = 0;

	temp[ 0 ] = '\0';
	while ( !terminated && ( length = mvcp_socket_read_data( socket, temp, sizeof( temp ) - 1 ) ) >= 0 )
	{
		int position = 0;
		temp[ length ] = '\0';
		mvcp_response_write( response, temp, length );
		position = mvcp_response_count( response ) - 1;
		if ( position < 0 || temp[ strlen( temp ) - 1 ] != '\n' )
			continue;
		switch( mvcp_response_get_error_code( response ) )
		{
			case 201:
			case 500:
				terminated = !strcmp( mvcp_response_get_line( response, position ), "" );
				break;
			case 202:
				terminated = mvcp_response_count( response ) >= 2;
				break;
			default:
				terminated = 1;
				break;
		}
	}

	return 0;
}
コード例 #3
0
ファイル: mvcp_remote.c プロジェクト: ksri99/shotcut
static mvcp_response mvcp_remote_connect( mvcp_remote remote )
{
	mvcp_response response = NULL;

	mvcp_remote_disconnect( remote );

	if ( !remote->connected )
	{
#ifndef WIN32
		signal( SIGPIPE, SIG_IGN );
#endif
		remote->socket = mvcp_socket_init( remote->server, remote->port );
		remote->status = mvcp_socket_init( remote->server, remote->port );

		if ( mvcp_socket_connect( remote->socket ) == 0 )
		{
			response = mvcp_response_init( );
			mvcp_remote_read_response( remote->socket, response );
		}

		if ( 0 && response != NULL && mvcp_socket_connect( remote->status ) == 0 )
		{
			mvcp_response status_response = mvcp_response_init( );
			mvcp_remote_read_response( remote->status, status_response );
			if ( mvcp_response_get_error_code( status_response ) == 100 )
				pthread_create( &remote->thread, NULL, mvcp_remote_status_thread, remote );
			mvcp_response_close( status_response );
			remote->connected = 1;
		}
	}

	return response;
}
コード例 #4
0
ファイル: melted_local.c プロジェクト: jacharry7/melted
response_codes melted_run( command_argument cmd_arg )
{
	mvcp_response temp = mvcp_parser_run( cmd_arg->parser, (char *)cmd_arg->argument );

	if ( temp != NULL )
	{
		int index = 0;

		mvcp_response_set_error( cmd_arg->response, 
							   mvcp_response_get_error_code( temp ),
							   mvcp_response_get_error_string( temp ) );

		for ( index = 1; index < mvcp_response_count( temp ); index ++ )
			mvcp_response_printf( cmd_arg->response, 10240, "%s\n", mvcp_response_get_line( temp, index ) );

		mvcp_response_close( temp );
	}

	return mvcp_response_get_error_code( cmd_arg->response );
}