// This is a generated file - do not edit.
//
// Generated from resource.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

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 $0;

export 'resource.pb.dart';

@$pb.GrpcServiceName('api.ResourceService')
class ResourceServiceClient extends $grpc.Client {
  /// The hostname for this service.
  static const $core.String defaultHost = '';

  /// OAuth scopes needed for the client.
  static const $core.List<$core.String> oauthScopes = [
    '',
  ];

  ResourceServiceClient(super.channel, {super.options, super.interceptors});

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

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

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

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

    // method descriptors

  static final _$createResource = $grpc.ClientMethod<$0.CreateResourceRequest, $0.CreateResourceResponse>(
      '/api.ResourceService/CreateResource',
      ($0.CreateResourceRequest value) => value.writeToBuffer(),
      $0.CreateResourceResponse.fromBuffer);
  static final _$deleteResource = $grpc.ClientMethod<$0.DeleteResourceRequest, $0.DeleteResourceResponse>(
      '/api.ResourceService/DeleteResource',
      ($0.DeleteResourceRequest value) => value.writeToBuffer(),
      $0.DeleteResourceResponse.fromBuffer);
  static final _$cleanResource = $grpc.ClientMethod<$0.CleanResourceRequest, $0.CleanResourceResult>(
      '/api.ResourceService/CleanResource',
      ($0.CleanResourceRequest value) => value.writeToBuffer(),
      $0.CleanResourceResult.fromBuffer);
  static final _$listResources = $grpc.ClientMethod<$0.ListResourcesRequest, $0.ListResourcesResponse>(
      '/api.ResourceService/ListResources',
      ($0.ListResourcesRequest value) => value.writeToBuffer(),
      $0.ListResourcesResponse.fromBuffer);
}

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

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

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

  $async.Future<$0.CreateResourceResponse> createResource($grpc.ServiceCall call, $0.CreateResourceRequest request);

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

  $async.Future<$0.DeleteResourceResponse> deleteResource($grpc.ServiceCall call, $0.DeleteResourceRequest request);

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

  $async.Future<$0.CleanResourceResult> cleanResource($grpc.ServiceCall call, $0.CleanResourceRequest request);

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

  $async.Future<$0.ListResourcesResponse> listResources($grpc.ServiceCall call, $0.ListResourcesRequest request);

}
