# Generated by protoc-srpc-plugin
# This file is generated from an embedded template. Do not edit directly.

import srpc
from srpc import rpc as srpc_rpc

from google.rpc import code_pb2 as code__pb2

from a2a.grpc import a2a_pb2 as a2a__pb2
import google.protobuf.empty_pb2 as google__protobuf__empty_pb2


class A2AServiceStub:
    """Client stub for A2AService."""
    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A srpc.Channel.
        """
        self.SendMessage = channel.unary_unary(
            "/a2a.v1.A2AService/SendMessage",
            request_serializer=a2a__pb2.SendMessageRequest.SerializeToString,
            response_deserializer=a2a__pb2.SendMessageResponse.FromString,
        )
        self.SendStreamingMessage = channel.unary_stream(
            "/a2a.v1.A2AService/SendStreamingMessage",
            request_serializer=a2a__pb2.SendMessageRequest.SerializeToString,
            response_deserializer=a2a__pb2.StreamResponse.FromString,
        )
        self.GetTask = channel.unary_unary(
            "/a2a.v1.A2AService/GetTask",
            request_serializer=a2a__pb2.GetTaskRequest.SerializeToString,
            response_deserializer=a2a__pb2.Task.FromString,
        )
        self.CancelTask = channel.unary_unary(
            "/a2a.v1.A2AService/CancelTask",
            request_serializer=a2a__pb2.CancelTaskRequest.SerializeToString,
            response_deserializer=a2a__pb2.Task.FromString,
        )
        self.TaskSubscription = channel.unary_stream(
            "/a2a.v1.A2AService/TaskSubscription",
            request_serializer=a2a__pb2.TaskSubscriptionRequest.SerializeToString,
            response_deserializer=a2a__pb2.StreamResponse.FromString,
        )
        self.CreateTaskPushNotificationConfig = channel.unary_unary(
            "/a2a.v1.A2AService/CreateTaskPushNotificationConfig",
            request_serializer=a2a__pb2.CreateTaskPushNotificationConfigRequest.SerializeToString,
            response_deserializer=a2a__pb2.TaskPushNotificationConfig.FromString,
        )
        self.GetTaskPushNotificationConfig = channel.unary_unary(
            "/a2a.v1.A2AService/GetTaskPushNotificationConfig",
            request_serializer=a2a__pb2.GetTaskPushNotificationConfigRequest.SerializeToString,
            response_deserializer=a2a__pb2.TaskPushNotificationConfig.FromString,
        )
        self.ListTaskPushNotificationConfig = channel.unary_unary(
            "/a2a.v1.A2AService/ListTaskPushNotificationConfig",
            request_serializer=a2a__pb2.ListTaskPushNotificationConfigRequest.SerializeToString,
            response_deserializer=a2a__pb2.ListTaskPushNotificationConfigResponse.FromString,
        )
        self.GetAgentCard = channel.unary_unary(
            "/a2a.v1.A2AService/GetAgentCard",
            request_serializer=a2a__pb2.GetAgentCardRequest.SerializeToString,
            response_deserializer=a2a__pb2.AgentCard.FromString,
        )
        self.DeleteTaskPushNotificationConfig = channel.unary_unary(
            "/a2a.v1.A2AService/DeleteTaskPushNotificationConfig",
            request_serializer=a2a__pb2.DeleteTaskPushNotificationConfigRequest.SerializeToString,
            response_deserializer=google__protobuf__empty_pb2.Empty.FromString,
        )


class A2AServiceServicer():
    """Server servicer for A2AService. Implement this class to provide your service logic."""

    def SendMessage(self, request, context):
        """Method for SendMessage. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def SendStreamingMessage(self, request, context):
        """Method for SendStreamingMessage. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def GetTask(self, request, context):
        """Method for GetTask. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def CancelTask(self, request, context):
        """Method for CancelTask. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def TaskSubscription(self, request, context):
        """Method for TaskSubscription. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def CreateTaskPushNotificationConfig(self, request, context):
        """Method for CreateTaskPushNotificationConfig. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def GetTaskPushNotificationConfig(self, request, context):
        """Method for GetTaskPushNotificationConfig. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def ListTaskPushNotificationConfig(self, request, context):
        """Method for ListTaskPushNotificationConfig. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def GetAgentCard(self, request, context):
        """Method for GetAgentCard. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )
    def DeleteTaskPushNotificationConfig(self, request, context):
        """Method for DeleteTaskPushNotificationConfig. Implement your service logic here."""
        raise srpc_rpc.SRPCResponseError(
            code=code__pb2.UNIMPLEMENTED, message="Method not implemented!"
        )




def add_A2AServiceServicer_to_server(servicer, server: srpc.Server):
    rpc_method_handlers = {
        "SendMessage": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.SendMessage,
            request_deserializer=a2a__pb2.SendMessageRequest.FromString,
            response_serializer=a2a__pb2.SendMessageResponse.SerializeToString,
        ),
        "SendStreamingMessage": srpc.unary_stream_rpc_method_handler(
            behaviour=servicer.SendStreamingMessage,
            request_deserializer=a2a__pb2.SendMessageRequest.FromString,
            response_serializer=a2a__pb2.StreamResponse.SerializeToString,
        ),
        "GetTask": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.GetTask,
            request_deserializer=a2a__pb2.GetTaskRequest.FromString,
            response_serializer=a2a__pb2.Task.SerializeToString,
        ),
        "CancelTask": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.CancelTask,
            request_deserializer=a2a__pb2.CancelTaskRequest.FromString,
            response_serializer=a2a__pb2.Task.SerializeToString,
        ),
        "TaskSubscription": srpc.unary_stream_rpc_method_handler(
            behaviour=servicer.TaskSubscription,
            request_deserializer=a2a__pb2.TaskSubscriptionRequest.FromString,
            response_serializer=a2a__pb2.StreamResponse.SerializeToString,
        ),
        "CreateTaskPushNotificationConfig": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.CreateTaskPushNotificationConfig,
            request_deserializer=a2a__pb2.CreateTaskPushNotificationConfigRequest.FromString,
            response_serializer=a2a__pb2.TaskPushNotificationConfig.SerializeToString,
        ),
        "GetTaskPushNotificationConfig": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.GetTaskPushNotificationConfig,
            request_deserializer=a2a__pb2.GetTaskPushNotificationConfigRequest.FromString,
            response_serializer=a2a__pb2.TaskPushNotificationConfig.SerializeToString,
        ),
        "ListTaskPushNotificationConfig": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.ListTaskPushNotificationConfig,
            request_deserializer=a2a__pb2.ListTaskPushNotificationConfigRequest.FromString,
            response_serializer=a2a__pb2.ListTaskPushNotificationConfigResponse.SerializeToString,
        ),
        "GetAgentCard": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.GetAgentCard,
            request_deserializer=a2a__pb2.GetAgentCardRequest.FromString,
            response_serializer=a2a__pb2.AgentCard.SerializeToString,
        ),
        "DeleteTaskPushNotificationConfig": srpc.unary_unary_rpc_method_handler(
            behaviour=servicer.DeleteTaskPushNotificationConfig,
            request_deserializer=a2a__pb2.DeleteTaskPushNotificationConfigRequest.FromString,
            response_serializer=google__protobuf__empty_pb2.Empty.SerializeToString,
        ),

    }

    server.register_method_handlers(
        "a2a.v1.A2AService",
        rpc_method_handlers,
    )

