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

from . import work_os_pb2 as admin_dot_v1_dot_work__os__pb2


class DSyncServiceStub(object):
    """Missing associated documentation comment in .proto file."""

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetDirectory = channel.unary_unary(
                '/admin.v1.DSyncService/GetDirectory',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryResponse.FromString,
                )
        self.GetGroupsByDirectoryId = channel.unary_unary(
                '/admin.v1.DSyncService/GetGroupsByDirectoryId',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdResponse.FromString,
                )
        self.GetUsersByDirectoryId = channel.unary_unary(
                '/admin.v1.DSyncService/GetUsersByDirectoryId',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdResponse.FromString,
                )
        self.GetWorkOsGroupById = channel.unary_unary(
                '/admin.v1.DSyncService/GetWorkOsGroupById',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdResponse.FromString,
                )
        self.GetDirectoryGroups = channel.unary_unary(
                '/admin.v1.DSyncService/GetDirectoryGroups',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsResponse.FromString,
                )
        self.UpdateDirectoryGroupSync = channel.unary_unary(
                '/admin.v1.DSyncService/UpdateDirectoryGroupSync',
                request_serializer=admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncResponse.FromString,
                )
        self.GetDSyncPortal = channel.unary_unary(
                '/admin.v1.DSyncService/GetDSyncPortal',
                request_serializer=admin_dot_v1_dot_work__os__pb2.GetDSyncPortalRequest.SerializeToString,
                response_deserializer=admin_dot_v1_dot_work__os__pb2.GetDSyncPortalResponse.FromString,
                )


class DSyncServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def GetDirectory(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetGroupsByDirectoryId(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUsersByDirectoryId(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetWorkOsGroupById(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDirectoryGroups(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateDirectoryGroupSync(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDSyncPortal(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_DSyncServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetDirectory': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDirectory,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryResponse.SerializeToString,
            ),
            'GetGroupsByDirectoryId': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGroupsByDirectoryId,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdResponse.SerializeToString,
            ),
            'GetUsersByDirectoryId': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUsersByDirectoryId,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdResponse.SerializeToString,
            ),
            'GetWorkOsGroupById': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWorkOsGroupById,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdResponse.SerializeToString,
            ),
            'GetDirectoryGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDirectoryGroups,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsResponse.SerializeToString,
            ),
            'UpdateDirectoryGroupSync': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateDirectoryGroupSync,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncResponse.SerializeToString,
            ),
            'GetDSyncPortal': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDSyncPortal,
                    request_deserializer=admin_dot_v1_dot_work__os__pb2.GetDSyncPortalRequest.FromString,
                    response_serializer=admin_dot_v1_dot_work__os__pb2.GetDSyncPortalResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'admin.v1.DSyncService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class DSyncService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def GetDirectory(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, '/admin.v1.DSyncService/GetDirectory',
            admin_dot_v1_dot_work__os__pb2.GetDirectoryRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetDirectoryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGroupsByDirectoryId(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, '/admin.v1.DSyncService/GetGroupsByDirectoryId',
            admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetGroupsByDirectoryIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUsersByDirectoryId(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, '/admin.v1.DSyncService/GetUsersByDirectoryId',
            admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetUsersByDirectoryIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetWorkOsGroupById(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, '/admin.v1.DSyncService/GetWorkOsGroupById',
            admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetWorkOsGroupByIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDirectoryGroups(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, '/admin.v1.DSyncService/GetDirectoryGroups',
            admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetDirectoryGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateDirectoryGroupSync(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, '/admin.v1.DSyncService/UpdateDirectoryGroupSync',
            admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.UpdateDirectoryGroupSyncResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDSyncPortal(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, '/admin.v1.DSyncService/GetDSyncPortal',
            admin_dot_v1_dot_work__os__pb2.GetDSyncPortalRequest.SerializeToString,
            admin_dot_v1_dot_work__os__pb2.GetDSyncPortalResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
