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

from chromiumos.test.lab.api.passport import hid_service_pb2 as chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2


class HIDServiceStub(object):
    """HIDService is a service which controls human interaction device simulators
    such as keyboards, mice, etc.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetHIDDevices = channel.unary_unary(
                '/chromiumos.test.lab.api.passport.HIDService/GetHIDDevices',
                request_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesRequest.SerializeToString,
                response_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesResponse.FromString,
                )
        self.InitHIDDevice = channel.unary_unary(
                '/chromiumos.test.lab.api.passport.HIDService/InitHIDDevice',
                request_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceRequest.SerializeToString,
                response_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceResponse.FromString,
                )
        self.CloseHIDDevice = channel.unary_unary(
                '/chromiumos.test.lab.api.passport.HIDService/CloseHIDDevice',
                request_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceRequest.SerializeToString,
                response_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceResponse.FromString,
                )
        self.KeyboardAction = channel.unary_unary(
                '/chromiumos.test.lab.api.passport.HIDService/KeyboardAction',
                request_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionRequest.SerializeToString,
                response_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionResponse.FromString,
                )
        self.MouseAction = channel.unary_unary(
                '/chromiumos.test.lab.api.passport.HIDService/MouseAction',
                request_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionRequest.SerializeToString,
                response_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionResponse.FromString,
                )


class HIDServiceServicer(object):
    """HIDService is a service which controls human interaction device simulators
    such as keyboards, mice, etc.
    """

    def GetHIDDevices(self, request, context):
        """GetHIDDevices probes for all HID Simulators.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InitHIDDevice(self, request, context):
        """InitHIDDevice initializes the specified HID device.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CloseHIDDevice(self, request, context):
        """CloseHIDDevice releases the specified HID device and releases any resources
        held open.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeyboardAction(self, request, context):
        """KeyboardAction performs the requested keyboard action.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MouseAction(self, request, context):
        """MouseAction performs the requested mouse action.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_HIDServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetHIDDevices': grpc.unary_unary_rpc_method_handler(
                    servicer.GetHIDDevices,
                    request_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesRequest.FromString,
                    response_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesResponse.SerializeToString,
            ),
            'InitHIDDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.InitHIDDevice,
                    request_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceRequest.FromString,
                    response_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceResponse.SerializeToString,
            ),
            'CloseHIDDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseHIDDevice,
                    request_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceRequest.FromString,
                    response_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceResponse.SerializeToString,
            ),
            'KeyboardAction': grpc.unary_unary_rpc_method_handler(
                    servicer.KeyboardAction,
                    request_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionRequest.FromString,
                    response_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionResponse.SerializeToString,
            ),
            'MouseAction': grpc.unary_unary_rpc_method_handler(
                    servicer.MouseAction,
                    request_deserializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionRequest.FromString,
                    response_serializer=chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'chromiumos.test.lab.api.passport.HIDService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class HIDService(object):
    """HIDService is a service which controls human interaction device simulators
    such as keyboards, mice, etc.
    """

    @staticmethod
    def GetHIDDevices(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, '/chromiumos.test.lab.api.passport.HIDService/GetHIDDevices',
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesRequest.SerializeToString,
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.GetHIDDevicesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InitHIDDevice(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, '/chromiumos.test.lab.api.passport.HIDService/InitHIDDevice',
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceRequest.SerializeToString,
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.InitHIDDeviceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseHIDDevice(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, '/chromiumos.test.lab.api.passport.HIDService/CloseHIDDevice',
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceRequest.SerializeToString,
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.CloseHIDDeviceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeyboardAction(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, '/chromiumos.test.lab.api.passport.HIDService/KeyboardAction',
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionRequest.SerializeToString,
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.KeyboardActionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MouseAction(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, '/chromiumos.test.lab.api.passport.HIDService/MouseAction',
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionRequest.SerializeToString,
            chromiumos_dot_test_dot_lab_dot_api_dot_passport_dot_hid__service__pb2.MouseActionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
