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

from ndk import sdk_service_pb2 as ndk_dot_sdk__service__pb2


class SdkMgrServiceStub(object):
    """*
    Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.AgentRegister = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/AgentRegister',
                request_serializer=ndk_dot_sdk__service__pb2.AgentRegistrationRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.AgentRegistrationResponse.FromString,
                )
        self.AgentUnRegister = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/AgentUnRegister',
                request_serializer=ndk_dot_sdk__service__pb2.AgentRegistrationRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.AgentRegistrationResponse.FromString,
                )
        self.NotificationRegister = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/NotificationRegister',
                request_serializer=ndk_dot_sdk__service__pb2.NotificationRegisterRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.NotificationRegisterResponse.FromString,
                )
        self.NotificationQuery = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/NotificationQuery',
                request_serializer=ndk_dot_sdk__service__pb2.NotificationQueryRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.NotificationQueryResponse.FromString,
                )
        self.KeepAlive = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/KeepAlive',
                request_serializer=ndk_dot_sdk__service__pb2.KeepAliveRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.KeepAliveResponse.FromString,
                )
        self.GetAppId = channel.unary_unary(
                '/srlinux.sdk.SdkMgrService/GetAppId',
                request_serializer=ndk_dot_sdk__service__pb2.AppIdRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.AppIdResponse.FromString,
                )


class SdkMgrServiceServicer(object):
    """*
    Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.
    """

    def AgentRegister(self, request, context):
        """/ Register agent
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AgentUnRegister(self, request, context):
        """/ Unregister agent
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NotificationRegister(self, request, context):
        """/ Register for event notifications
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NotificationQuery(self, request, context):
        """/ Returns current or specific notification subscription details
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeepAlive(self, request, context):
        """/ Send periodic keepalive message
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAppId(self, request, context):
        """/ Get application name from application identifier
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_SdkMgrServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AgentRegister': grpc.unary_unary_rpc_method_handler(
                    servicer.AgentRegister,
                    request_deserializer=ndk_dot_sdk__service__pb2.AgentRegistrationRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.AgentRegistrationResponse.SerializeToString,
            ),
            'AgentUnRegister': grpc.unary_unary_rpc_method_handler(
                    servicer.AgentUnRegister,
                    request_deserializer=ndk_dot_sdk__service__pb2.AgentRegistrationRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.AgentRegistrationResponse.SerializeToString,
            ),
            'NotificationRegister': grpc.unary_unary_rpc_method_handler(
                    servicer.NotificationRegister,
                    request_deserializer=ndk_dot_sdk__service__pb2.NotificationRegisterRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.NotificationRegisterResponse.SerializeToString,
            ),
            'NotificationQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.NotificationQuery,
                    request_deserializer=ndk_dot_sdk__service__pb2.NotificationQueryRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.NotificationQueryResponse.SerializeToString,
            ),
            'KeepAlive': grpc.unary_unary_rpc_method_handler(
                    servicer.KeepAlive,
                    request_deserializer=ndk_dot_sdk__service__pb2.KeepAliveRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.KeepAliveResponse.SerializeToString,
            ),
            'GetAppId': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAppId,
                    request_deserializer=ndk_dot_sdk__service__pb2.AppIdRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.AppIdResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'srlinux.sdk.SdkMgrService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class SdkMgrService(object):
    """*
    Represents base service that defines agent registration, unregistration, notification subscriptions, and keepalive messages.
    """

    @staticmethod
    def AgentRegister(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, '/srlinux.sdk.SdkMgrService/AgentRegister',
            ndk_dot_sdk__service__pb2.AgentRegistrationRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.AgentRegistrationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AgentUnRegister(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, '/srlinux.sdk.SdkMgrService/AgentUnRegister',
            ndk_dot_sdk__service__pb2.AgentRegistrationRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.AgentRegistrationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NotificationRegister(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, '/srlinux.sdk.SdkMgrService/NotificationRegister',
            ndk_dot_sdk__service__pb2.NotificationRegisterRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.NotificationRegisterResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NotificationQuery(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, '/srlinux.sdk.SdkMgrService/NotificationQuery',
            ndk_dot_sdk__service__pb2.NotificationQueryRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.NotificationQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeepAlive(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, '/srlinux.sdk.SdkMgrService/KeepAlive',
            ndk_dot_sdk__service__pb2.KeepAliveRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.KeepAliveResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAppId(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, '/srlinux.sdk.SdkMgrService/GetAppId',
            ndk_dot_sdk__service__pb2.AppIdRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.AppIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


class SdkNotificationServiceStub(object):
    """*********************************************************************************************************************
    Notification stream protos - this is what streams from the server to the client
    *********************************************************************************************************************

    *
    Represents service for handling notifications.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.NotificationStream = channel.unary_stream(
                '/srlinux.sdk.SdkNotificationService/NotificationStream',
                request_serializer=ndk_dot_sdk__service__pb2.NotificationStreamRequest.SerializeToString,
                response_deserializer=ndk_dot_sdk__service__pb2.NotificationStreamResponse.FromString,
                )


class SdkNotificationServiceServicer(object):
    """*********************************************************************************************************************
    Notification stream protos - this is what streams from the server to the client
    *********************************************************************************************************************

    *
    Represents service for handling notifications.
    """

    def NotificationStream(self, request, context):
        """/ Send stream of event notifications based on the agent subscriptions
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_SdkNotificationServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'NotificationStream': grpc.unary_stream_rpc_method_handler(
                    servicer.NotificationStream,
                    request_deserializer=ndk_dot_sdk__service__pb2.NotificationStreamRequest.FromString,
                    response_serializer=ndk_dot_sdk__service__pb2.NotificationStreamResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'srlinux.sdk.SdkNotificationService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class SdkNotificationService(object):
    """*********************************************************************************************************************
    Notification stream protos - this is what streams from the server to the client
    *********************************************************************************************************************

    *
    Represents service for handling notifications.
    """

    @staticmethod
    def NotificationStream(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_stream(request, target, '/srlinux.sdk.SdkNotificationService/NotificationStream',
            ndk_dot_sdk__service__pb2.NotificationStreamRequest.SerializeToString,
            ndk_dot_sdk__service__pb2.NotificationStreamResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
