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

import browser_pb2 as browser__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.Navigate = channel.unary_unary(
                '/browser.BrowserService/Navigate',
                request_serializer=browser__pb2.NavigateRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.Click = channel.unary_unary(
                '/browser.BrowserService/Click',
                request_serializer=browser__pb2.ClickRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.Type = channel.unary_unary(
                '/browser.BrowserService/Type',
                request_serializer=browser__pb2.TypeRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.Hover = channel.unary_unary(
                '/browser.BrowserService/Hover',
                request_serializer=browser__pb2.HoverRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.Scroll = channel.unary_unary(
                '/browser.BrowserService/Scroll',
                request_serializer=browser__pb2.ScrollRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.Evaluate = channel.unary_unary(
                '/browser.BrowserService/Evaluate',
                request_serializer=browser__pb2.EvalRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.GetSnapshot = channel.unary_unary(
                '/browser.BrowserService/GetSnapshot',
                request_serializer=browser__pb2.SnapshotRequest.SerializeToString,
                response_deserializer=browser__pb2.BrowserResponse.FromString,
                )
        self.CloseSession = channel.unary_unary(
                '/browser.BrowserService/CloseSession',
                request_serializer=browser__pb2.CloseRequest.SerializeToString,
                response_deserializer=browser__pb2.CloseResponse.FromString,
                )
        self.ParallelFetch = channel.unary_stream(
                '/browser.BrowserService/ParallelFetch',
                request_serializer=browser__pb2.ParallelFetchRequest.SerializeToString,
                response_deserializer=browser__pb2.ParallelFetchResponse.FromString,
                )


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

    def Navigate(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 Click(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 Type(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 Hover(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 Scroll(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 Evaluate(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 GetSnapshot(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 CloseSession(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 ParallelFetch(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_BrowserServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Navigate': grpc.unary_unary_rpc_method_handler(
                    servicer.Navigate,
                    request_deserializer=browser__pb2.NavigateRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'Click': grpc.unary_unary_rpc_method_handler(
                    servicer.Click,
                    request_deserializer=browser__pb2.ClickRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'Type': grpc.unary_unary_rpc_method_handler(
                    servicer.Type,
                    request_deserializer=browser__pb2.TypeRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'Hover': grpc.unary_unary_rpc_method_handler(
                    servicer.Hover,
                    request_deserializer=browser__pb2.HoverRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'Scroll': grpc.unary_unary_rpc_method_handler(
                    servicer.Scroll,
                    request_deserializer=browser__pb2.ScrollRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'Evaluate': grpc.unary_unary_rpc_method_handler(
                    servicer.Evaluate,
                    request_deserializer=browser__pb2.EvalRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'GetSnapshot': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSnapshot,
                    request_deserializer=browser__pb2.SnapshotRequest.FromString,
                    response_serializer=browser__pb2.BrowserResponse.SerializeToString,
            ),
            'CloseSession': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseSession,
                    request_deserializer=browser__pb2.CloseRequest.FromString,
                    response_serializer=browser__pb2.CloseResponse.SerializeToString,
            ),
            'ParallelFetch': grpc.unary_stream_rpc_method_handler(
                    servicer.ParallelFetch,
                    request_deserializer=browser__pb2.ParallelFetchRequest.FromString,
                    response_serializer=browser__pb2.ParallelFetchResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'browser.BrowserService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def Navigate(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, '/browser.BrowserService/Navigate',
            browser__pb2.NavigateRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Click(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, '/browser.BrowserService/Click',
            browser__pb2.ClickRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Type(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, '/browser.BrowserService/Type',
            browser__pb2.TypeRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Hover(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, '/browser.BrowserService/Hover',
            browser__pb2.HoverRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Scroll(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, '/browser.BrowserService/Scroll',
            browser__pb2.ScrollRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Evaluate(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, '/browser.BrowserService/Evaluate',
            browser__pb2.EvalRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSnapshot(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, '/browser.BrowserService/GetSnapshot',
            browser__pb2.SnapshotRequest.SerializeToString,
            browser__pb2.BrowserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseSession(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, '/browser.BrowserService/CloseSession',
            browser__pb2.CloseRequest.SerializeToString,
            browser__pb2.CloseResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ParallelFetch(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, '/browser.BrowserService/ParallelFetch',
            browser__pb2.ParallelFetchRequest.SerializeToString,
            browser__pb2.ParallelFetchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
