# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from agentic_mesh_protocol.storage.v1 import data_pb2 as agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2


class StorageServiceStub(object):
    """StorageService: Service to store data
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.StoreRecord = channel.unary_unary(
                '/agentic_mesh_protocol.storage.v1.StorageService/StoreRecord',
                request_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordResponse.FromString,
                _registered_method=True)
        self.ReadRecord = channel.unary_unary(
                '/agentic_mesh_protocol.storage.v1.StorageService/ReadRecord',
                request_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordResponse.FromString,
                _registered_method=True)
        self.ModifyRecord = channel.unary_unary(
                '/agentic_mesh_protocol.storage.v1.StorageService/ModifyRecord',
                request_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordResponse.FromString,
                _registered_method=True)
        self.RemoveRecord = channel.unary_unary(
                '/agentic_mesh_protocol.storage.v1.StorageService/RemoveRecord',
                request_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordResponse.FromString,
                _registered_method=True)


class StorageServiceServicer(object):
    """StorageService: Service to store data
    """

    def StoreRecord(self, request, context):
        """StoreRecord: Store a new data
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadRecord(self, request, context):
        """ReadRecord: Get data by mission and name
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ModifyRecord(self, request, context):
        """ModifyRecord: Update data record
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveRecord(self, request, context):
        """RemoveRecord: Delete data
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_StorageServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'StoreRecord': grpc.unary_unary_rpc_method_handler(
                    servicer.StoreRecord,
                    request_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordResponse.SerializeToString,
            ),
            'ReadRecord': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadRecord,
                    request_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordResponse.SerializeToString,
            ),
            'ModifyRecord': grpc.unary_unary_rpc_method_handler(
                    servicer.ModifyRecord,
                    request_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordResponse.SerializeToString,
            ),
            'RemoveRecord': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveRecord,
                    request_deserializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'agentic_mesh_protocol.storage.v1.StorageService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('agentic_mesh_protocol.storage.v1.StorageService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class StorageService(object):
    """StorageService: Service to store data
    """

    @staticmethod
    def StoreRecord(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/agentic_mesh_protocol.storage.v1.StorageService/StoreRecord',
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordRequest.SerializeToString,
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.StoreRecordResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ReadRecord(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/agentic_mesh_protocol.storage.v1.StorageService/ReadRecord',
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordRequest.SerializeToString,
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ReadRecordResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ModifyRecord(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/agentic_mesh_protocol.storage.v1.StorageService/ModifyRecord',
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordRequest.SerializeToString,
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.ModifyRecordResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def RemoveRecord(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/agentic_mesh_protocol.storage.v1.StorageService/RemoveRecord',
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordRequest.SerializeToString,
            agentic__mesh__protocol_dot_storage_dot_v1_dot_data__pb2.RemoveRecordResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
