@*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * license agreements; and to You under the Apache License, version 2.0:
 *
 *   https://www.apache.org/licenses/LICENSE-2.0
 *
 * This file is part of the Apache Pekko project, which was derived from Akka.
 *@

@*
 * Copyright (C) 2018-2021 Lightbend Inc. <https://www.lightbend.com>
 *@

@(service: org.apache.pekko.grpc.gen.javadsl.Service)

@org.apache.pekko.grpc.gen.Constants.DoNotEditComment
package @service.packageName;

import org.apache.pekko.grpc.ProtobufSerializer;
import org.apache.pekko.grpc.javadsl.GoogleProtobufSerializer;
import org.apache.pekko.grpc.javadsl.Metadata;

import org.apache.pekko.grpc.PekkoGrpcGenerated;

/*
 * Generated by Pekko gRPC. DO NOT EDIT.
 */
public interface @{service.name}PowerApi {
  @for(method <- service.methods) {
  @{method.getReturnType} @{method.name}(@{method.getParameterType} in, Metadata metadata);
  }

  static String name = "@service.grpcName";

  @@PekkoGrpcGenerated
  public static class Serializers {
    @for(serializer <- service.serializers) {
      public static ProtobufSerializer<@{serializer.messageType}> @serializer.name = @serializer.init;
    }
  }
}
