//
//  Generated code. Do not modify.
//  source: resource.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:async' as $async;
import 'dart:core' as $core;

import 'package:grpc/service_api.dart' as $grpc;
import 'package:protobuf/protobuf.dart' as $pb;

import 'resource.pb.dart' as $16;

export 'resource.pb.dart';

@$pb.GrpcServiceName('api.ResourceService')
class ResourceServiceClient extends $grpc.Client {
  static final _$createResource = $grpc.ClientMethod<$16.CreateResourceRequest, $16.CreateResourceResponse>(
      '/api.ResourceService/CreateResource',
      ($16.CreateResourceRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $16.CreateResourceResponse.fromBuffer(value));
  static final _$deleteResource = $grpc.ClientMethod<$16.DeleteResourceRequest, $16.DeleteResourceResponse>(
      '/api.ResourceService/DeleteResource',
      ($16.DeleteResourceRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $16.DeleteResourceResponse.fromBuffer(value));
  static final _$cleanResource = $grpc.ClientMethod<$16.CleanResourceRequest, $16.CleanResourceResult>(
      '/api.ResourceService/CleanResource',
      ($16.CleanResourceRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $16.CleanResourceResult.fromBuffer(value));
  static final _$listResources = $grpc.ClientMethod<$16.ListResourcesRequest, $16.ListResourcesResponse>(
      '/api.ResourceService/ListResources',
      ($16.ListResourcesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $16.ListResourcesResponse.fromBuffer(value));

  ResourceServiceClient($grpc.ClientChannel channel,
      {$grpc.CallOptions? options,
      $core.Iterable<$grpc.ClientInterceptor>? interceptors})
      : super(channel, options: options,
        interceptors: interceptors);

  $grpc.ResponseFuture<$16.CreateResourceResponse> createResource($16.CreateResourceRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createResource, request, options: options);
  }

  $grpc.ResponseFuture<$16.DeleteResourceResponse> deleteResource($16.DeleteResourceRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteResource, request, options: options);
  }

  $grpc.ResponseFuture<$16.CleanResourceResult> cleanResource($16.CleanResourceRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$cleanResource, request, options: options);
  }

  $grpc.ResponseFuture<$16.ListResourcesResponse> listResources($16.ListResourcesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$listResources, request, options: options);
  }
}

@$pb.GrpcServiceName('api.ResourceService')
abstract class ResourceServiceBase extends $grpc.Service {
  $core.String get $name => 'api.ResourceService';

  ResourceServiceBase() {
    $addMethod($grpc.ServiceMethod<$16.CreateResourceRequest, $16.CreateResourceResponse>(
        'CreateResource',
        createResource_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $16.CreateResourceRequest.fromBuffer(value),
        ($16.CreateResourceResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$16.DeleteResourceRequest, $16.DeleteResourceResponse>(
        'DeleteResource',
        deleteResource_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $16.DeleteResourceRequest.fromBuffer(value),
        ($16.DeleteResourceResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$16.CleanResourceRequest, $16.CleanResourceResult>(
        'CleanResource',
        cleanResource_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $16.CleanResourceRequest.fromBuffer(value),
        ($16.CleanResourceResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$16.ListResourcesRequest, $16.ListResourcesResponse>(
        'ListResources',
        listResources_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $16.ListResourcesRequest.fromBuffer(value),
        ($16.ListResourcesResponse value) => value.writeToBuffer()));
  }

  $async.Future<$16.CreateResourceResponse> createResource_Pre($grpc.ServiceCall $call, $async.Future<$16.CreateResourceRequest> $request) async {
    return createResource($call, await $request);
  }

  $async.Future<$16.DeleteResourceResponse> deleteResource_Pre($grpc.ServiceCall $call, $async.Future<$16.DeleteResourceRequest> $request) async {
    return deleteResource($call, await $request);
  }

  $async.Future<$16.CleanResourceResult> cleanResource_Pre($grpc.ServiceCall $call, $async.Future<$16.CleanResourceRequest> $request) async {
    return cleanResource($call, await $request);
  }

  $async.Future<$16.ListResourcesResponse> listResources_Pre($grpc.ServiceCall $call, $async.Future<$16.ListResourcesRequest> $request) async {
    return listResources($call, await $request);
  }

  $async.Future<$16.CreateResourceResponse> createResource($grpc.ServiceCall call, $16.CreateResourceRequest request);
  $async.Future<$16.DeleteResourceResponse> deleteResource($grpc.ServiceCall call, $16.DeleteResourceRequest request);
  $async.Future<$16.CleanResourceResult> cleanResource($grpc.ServiceCall call, $16.CleanResourceRequest request);
  $async.Future<$16.ListResourcesResponse> listResources($grpc.ServiceCall call, $16.ListResourcesRequest request);
}
