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

from .google.api import httpbody_pb2 as google_dot_api_dot_httpbody__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from . import public_pb2 as public__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetPublicUsers = channel.unary_unary(
                '/org.couchers.public.Public/GetPublicUsers',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=google_dot_api_dot_httpbody__pb2.HttpBody.FromString,
                )
        self.GetPublicUser = channel.unary_unary(
                '/org.couchers.public.Public/GetPublicUser',
                request_serializer=public__pb2.GetPublicUserReq.SerializeToString,
                response_deserializer=public__pb2.GetPublicUserRes.FromString,
                )
        self.GetSignupPageInfo = channel.unary_unary(
                '/org.couchers.public.Public/GetSignupPageInfo',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=public__pb2.GetSignupPageInfoRes.FromString,
                )
        self.GetVolunteers = channel.unary_unary(
                '/org.couchers.public.Public/GetVolunteers',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=public__pb2.GetVolunteersRes.FromString,
                )
        self.GetDonationStats = channel.unary_unary(
                '/org.couchers.public.Public/GetDonationStats',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=public__pb2.GetDonationStatsRes.FromString,
                )


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

    def GetPublicUsers(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 GetPublicUser(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 GetSignupPageInfo(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 GetVolunteers(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 GetDonationStats(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_PublicServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetPublicUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPublicUsers,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=google_dot_api_dot_httpbody__pb2.HttpBody.SerializeToString,
            ),
            'GetPublicUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPublicUser,
                    request_deserializer=public__pb2.GetPublicUserReq.FromString,
                    response_serializer=public__pb2.GetPublicUserRes.SerializeToString,
            ),
            'GetSignupPageInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSignupPageInfo,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=public__pb2.GetSignupPageInfoRes.SerializeToString,
            ),
            'GetVolunteers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVolunteers,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=public__pb2.GetVolunteersRes.SerializeToString,
            ),
            'GetDonationStats': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDonationStats,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=public__pb2.GetDonationStatsRes.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'org.couchers.public.Public', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GetPublicUsers(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, '/org.couchers.public.Public/GetPublicUsers',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            google_dot_api_dot_httpbody__pb2.HttpBody.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPublicUser(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, '/org.couchers.public.Public/GetPublicUser',
            public__pb2.GetPublicUserReq.SerializeToString,
            public__pb2.GetPublicUserRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSignupPageInfo(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, '/org.couchers.public.Public/GetSignupPageInfo',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            public__pb2.GetSignupPageInfoRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVolunteers(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, '/org.couchers.public.Public/GetVolunteers',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            public__pb2.GetVolunteersRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDonationStats(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, '/org.couchers.public.Public/GetDonationStats',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            public__pb2.GetDonationStatsRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
