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

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from truffle.os import app_queries_pb2 as truffle_dot_os_dot_app__queries__pb2
from truffle.os import background_feed_queries_pb2 as truffle_dot_os_dot_background__feed__queries__pb2
from truffle.os import builder_pb2 as truffle_dot_os_dot_builder__pb2
from truffle.os import client_session_pb2 as truffle_dot_os_dot_client__session__pb2
from truffle.os import client_state_pb2 as truffle_dot_os_dot_client__state__pb2
from truffle.os import client_user_pb2 as truffle_dot_os_dot_client__user__pb2
from truffle.os import hardware_control_pb2 as truffle_dot_os_dot_hardware__control__pb2
from truffle.os import hardware_stats_pb2 as truffle_dot_os_dot_hardware__stats__pb2
from truffle.os import installer_pb2 as truffle_dot_os_dot_installer__pb2
from truffle.os import notification_pb2 as truffle_dot_os_dot_notification__pb2
from truffle.os import proactivity_pb2 as truffle_dot_os_dot_proactivity__pb2
from truffle.os import system_info_pb2 as truffle_dot_os_dot_system__info__pb2
from truffle.os import system_settings_pb2 as truffle_dot_os_dot_system__settings__pb2
from truffle.os import task_actions_pb2 as truffle_dot_os_dot_task__actions__pb2
from truffle.os import task_pb2 as truffle_dot_os_dot_task__pb2
from truffle.os import task_queries_pb2 as truffle_dot_os_dot_task__queries__pb2
from truffle.os import task_search_pb2 as truffle_dot_os_dot_task__search__pb2
from truffle.os import task_user_response_pb2 as truffle_dot_os_dot_task__user__response__pb2

GRPC_GENERATED_VERSION = '1.76.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + ' but the generated code in truffle/os/truffleos_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.Apps_DeleteApp = channel.unary_unary(
                '/truffle.os.TruffleOS/Apps_DeleteApp',
                request_serializer=truffle_dot_os_dot_app__queries__pb2.DeleteAppRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_app__queries__pb2.DeleteAppResponse.FromString,
                _registered_method=True)
        self.Apps_GetAll = channel.unary_unary(
                '/truffle.os.TruffleOS/Apps_GetAll',
                request_serializer=truffle_dot_os_dot_app__queries__pb2.GetAllAppsRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_app__queries__pb2.GetAllAppsResponse.FromString,
                _registered_method=True)
        self.Apps_InstallApp = channel.stream_stream(
                '/truffle.os.TruffleOS/Apps_InstallApp',
                request_serializer=truffle_dot_os_dot_installer__pb2.AppInstallRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_installer__pb2.AppInstallResponse.FromString,
                _registered_method=True)
        self.Background_GetFeed = channel.unary_unary(
                '/truffle.os.TruffleOS/Background_GetFeed',
                request_serializer=truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedResponse.FromString,
                _registered_method=True)
        self.Background_GetLatestFeedEntryID = channel.unary_unary(
                '/truffle.os.TruffleOS/Background_GetLatestFeedEntryID',
                request_serializer=truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDResponse.FromString,
                _registered_method=True)
        self.Background_ApproveProactiveAction = channel.unary_unary(
                '/truffle.os.TruffleOS/Background_ApproveProactiveAction',
                request_serializer=truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionResponse.FromString,
                _registered_method=True)
        self.Background_CancelProactiveAction = channel.unary_unary(
                '/truffle.os.TruffleOS/Background_CancelProactiveAction',
                request_serializer=truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionResponse.FromString,
                _registered_method=True)
        self.Builder_StartBuildSession = channel.unary_unary(
                '/truffle.os.TruffleOS/Builder_StartBuildSession',
                request_serializer=truffle_dot_os_dot_builder__pb2.StartBuildSessionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_builder__pb2.StartBuildSessionResponse.FromString,
                _registered_method=True)
        self.Builder_FinishBuildSession = channel.unary_unary(
                '/truffle.os.TruffleOS/Builder_FinishBuildSession',
                request_serializer=truffle_dot_os_dot_builder__pb2.FinishBuildSessionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_builder__pb2.FinishBuildSessionResponse.FromString,
                _registered_method=True)
        self.Client_RegisterNewUser = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_RegisterNewUser',
                request_serializer=truffle_dot_os_dot_client__user__pb2.RegisterNewUserRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__user__pb2.RegisterNewUserResponse.FromString,
                _registered_method=True)
        self.Client_RegisterNewSession = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_RegisterNewSession',
                request_serializer=truffle_dot_os_dot_client__session__pb2.RegisterNewSessionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__session__pb2.RegisterNewSessionResponse.FromString,
                _registered_method=True)
        self.Client_UserIDForToken = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_UserIDForToken',
                request_serializer=truffle_dot_os_dot_client__user__pb2.UserIDForTokenRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__user__pb2.UserIDForTokenResponse.FromString,
                _registered_method=True)
        self.Client_VerifyNewSessionRegistration = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_VerifyNewSessionRegistration',
                request_serializer=truffle_dot_os_dot_client__session__pb2.VerifyNewSessionRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__session__pb2.NewSessionStatus.FromString,
                _registered_method=True)
        self.Client_GetUserRecoveryCodes = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_GetUserRecoveryCodes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__session__pb2.UserRecoveryCodes.FromString,
                _registered_method=True)
        self.Client_UpdateClientState = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_UpdateClientState',
                request_serializer=truffle_dot_os_dot_client__state__pb2.UpdateClientStateRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__state__pb2.UpdateClientStateResponse.FromString,
                _registered_method=True)
        self.Client_GetClientState = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_GetClientState',
                request_serializer=truffle_dot_os_dot_client__state__pb2.GetClientStateRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__state__pb2.GetClientStateResponse.FromString,
                _registered_method=True)
        self.Client_GetAllClientStates = channel.unary_unary(
                '/truffle.os.TruffleOS/Client_GetAllClientStates',
                request_serializer=truffle_dot_os_dot_client__state__pb2.GetAllClientStatesRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_client__state__pb2.GetAllClientStatesResponse.FromString,
                _registered_method=True)
        self.SubscribeToNotifications = channel.unary_stream(
                '/truffle.os.TruffleOS/SubscribeToNotifications',
                request_serializer=truffle_dot_os_dot_notification__pb2.SubscribeToNotificationsRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_notification__pb2.Notification.FromString,
                _registered_method=True)
        self.Hardware_GetStats = channel.unary_unary(
                '/truffle.os.TruffleOS/Hardware_GetStats',
                request_serializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.FromString,
                _registered_method=True)
        self.Hardware_StatsUpdates = channel.unary_stream(
                '/truffle.os.TruffleOS/Hardware_StatsUpdates',
                request_serializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.FromString,
                _registered_method=True)
        self.Hardware_PowerControl = channel.unary_unary(
                '/truffle.os.TruffleOS/Hardware_PowerControl',
                request_serializer=truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlResponse.FromString,
                _registered_method=True)
        self.System_GetID = channel.unary_unary(
                '/truffle.os.TruffleOS/System_GetID',
                request_serializer=truffle_dot_os_dot_system__info__pb2.SystemGetIDRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_system__info__pb2.SystemGetIDResponse.FromString,
                _registered_method=True)
        self.System_GetSettings = channel.unary_unary(
                '/truffle.os.TruffleOS/System_GetSettings',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.FromString,
                _registered_method=True)
        self.System_SetSettings = channel.unary_unary(
                '/truffle.os.TruffleOS/System_SetSettings',
                request_serializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.SerializeToString,
                response_deserializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.FromString,
                _registered_method=True)
        self.System_GetInfo = channel.unary_unary(
                '/truffle.os.TruffleOS/System_GetInfo',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=truffle_dot_os_dot_system__info__pb2.SystemInfo.FromString,
                _registered_method=True)
        self.System_CheckForUpdate = channel.unary_unary(
                '/truffle.os.TruffleOS/System_CheckForUpdate',
                request_serializer=truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateResponse.FromString,
                _registered_method=True)
        self.Task_TestExternalToolProvider = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_TestExternalToolProvider',
                request_serializer=truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderResponse.FromString,
                _registered_method=True)
        self.Task_OpenTask = channel.unary_stream(
                '/truffle.os.TruffleOS/Task_OpenTask',
                request_serializer=truffle_dot_os_dot_task__actions__pb2.OpenTaskRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__pb2.TaskStreamUpdate.FromString,
                _registered_method=True)
        self.Task_InterruptTask = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_InterruptTask',
                request_serializer=truffle_dot_os_dot_task__actions__pb2.InterruptTaskRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.FromString,
                _registered_method=True)
        self.Task_RespondToTask = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_RespondToTask',
                request_serializer=truffle_dot_os_dot_task__user__response__pb2.RespondToTaskRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.FromString,
                _registered_method=True)
        self.Task_SetAvailableApps = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_SetAvailableApps',
                request_serializer=truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsResponse.FromString,
                _registered_method=True)
        self.Task_SearchTasks = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_SearchTasks',
                request_serializer=truffle_dot_os_dot_task__search__pb2.SearchTasksRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__search__pb2.SearchTasksResponse.FromString,
                _registered_method=True)
        self.Task_GetTasks = channel.unary_stream(
                '/truffle.os.TruffleOS/Task_GetTasks',
                request_serializer=truffle_dot_os_dot_task__queries__pb2.GetTasksRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__pb2.Task.FromString,
                _registered_method=True)
        self.Task_GetOneTask = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_GetOneTask',
                request_serializer=truffle_dot_os_dot_task__queries__pb2.GetOneTaskRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__pb2.Task.FromString,
                _registered_method=True)
        self.Task_GetTaskInfos = channel.unary_unary(
                '/truffle.os.TruffleOS/Task_GetTaskInfos',
                request_serializer=truffle_dot_os_dot_task__queries__pb2.GetTaskInfosRequest.SerializeToString,
                response_deserializer=truffle_dot_os_dot_task__queries__pb2.GetTaskInfosResponse.FromString,
                _registered_method=True)


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

    def Apps_DeleteApp(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 Apps_GetAll(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 Apps_InstallApp(self, request_iterator, 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 Background_GetFeed(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 Background_GetLatestFeedEntryID(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 Background_ApproveProactiveAction(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 Background_CancelProactiveAction(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 Builder_StartBuildSession(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 Builder_FinishBuildSession(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 Client_RegisterNewUser(self, request, context):
        """NOAUTH. Registers a new user and returns a user ID and a session token.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_RegisterNewSession(self, request, context):
        """NOAUTH. starts session verification process for a new session on another device.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_UserIDForToken(self, request, context):
        """get the user id associated with a session token
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_VerifyNewSessionRegistration(self, request, context):
        """called by an already authenticated client to approve or deny a new session creation request from another device. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_GetUserRecoveryCodes(self, request, context):
        """WARNING! calling this wipes existing recovery codes, if they exist
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_UpdateClientState(self, request, context):
        """client can store arbitrary key-value state data on the server
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Client_GetClientState(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 Client_GetAllClientStates(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 SubscribeToNotifications(self, request, context):
        """do this on session start to get your notification stream
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Hardware_GetStats(self, request, context):
        """please don't poll this use the damn stream.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Hardware_StatsUpdates(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 Hardware_PowerControl(self, request, context):
        """this rpc might not return.. so treat calling it as a fire-and-forget
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def System_GetID(self, request, context):
        """NO AUTH 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def System_GetSettings(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 System_SetSettings(self, request, context):
        """only applies the fields that are explicitly set
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def System_GetInfo(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 System_CheckForUpdate(self, request, context):
        """client guys dont use me. this is basically just for dev.. pretty useless due to ota flow. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Task_TestExternalToolProvider(self, request, context):
        """Task == Focus  ==  Foreground App 
        create or open an existing task and its update stream
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Task_OpenTask(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 Task_InterruptTask(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 Task_RespondToTask(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 Task_SetAvailableApps(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 Task_SearchTasks(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 Task_GetTasks(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 Task_GetOneTask(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 Task_GetTaskInfos(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_TruffleOSServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Apps_DeleteApp': grpc.unary_unary_rpc_method_handler(
                    servicer.Apps_DeleteApp,
                    request_deserializer=truffle_dot_os_dot_app__queries__pb2.DeleteAppRequest.FromString,
                    response_serializer=truffle_dot_os_dot_app__queries__pb2.DeleteAppResponse.SerializeToString,
            ),
            'Apps_GetAll': grpc.unary_unary_rpc_method_handler(
                    servicer.Apps_GetAll,
                    request_deserializer=truffle_dot_os_dot_app__queries__pb2.GetAllAppsRequest.FromString,
                    response_serializer=truffle_dot_os_dot_app__queries__pb2.GetAllAppsResponse.SerializeToString,
            ),
            'Apps_InstallApp': grpc.stream_stream_rpc_method_handler(
                    servicer.Apps_InstallApp,
                    request_deserializer=truffle_dot_os_dot_installer__pb2.AppInstallRequest.FromString,
                    response_serializer=truffle_dot_os_dot_installer__pb2.AppInstallResponse.SerializeToString,
            ),
            'Background_GetFeed': grpc.unary_unary_rpc_method_handler(
                    servicer.Background_GetFeed,
                    request_deserializer=truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedRequest.FromString,
                    response_serializer=truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedResponse.SerializeToString,
            ),
            'Background_GetLatestFeedEntryID': grpc.unary_unary_rpc_method_handler(
                    servicer.Background_GetLatestFeedEntryID,
                    request_deserializer=truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDRequest.FromString,
                    response_serializer=truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDResponse.SerializeToString,
            ),
            'Background_ApproveProactiveAction': grpc.unary_unary_rpc_method_handler(
                    servicer.Background_ApproveProactiveAction,
                    request_deserializer=truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionResponse.SerializeToString,
            ),
            'Background_CancelProactiveAction': grpc.unary_unary_rpc_method_handler(
                    servicer.Background_CancelProactiveAction,
                    request_deserializer=truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionResponse.SerializeToString,
            ),
            'Builder_StartBuildSession': grpc.unary_unary_rpc_method_handler(
                    servicer.Builder_StartBuildSession,
                    request_deserializer=truffle_dot_os_dot_builder__pb2.StartBuildSessionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_builder__pb2.StartBuildSessionResponse.SerializeToString,
            ),
            'Builder_FinishBuildSession': grpc.unary_unary_rpc_method_handler(
                    servicer.Builder_FinishBuildSession,
                    request_deserializer=truffle_dot_os_dot_builder__pb2.FinishBuildSessionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_builder__pb2.FinishBuildSessionResponse.SerializeToString,
            ),
            'Client_RegisterNewUser': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_RegisterNewUser,
                    request_deserializer=truffle_dot_os_dot_client__user__pb2.RegisterNewUserRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__user__pb2.RegisterNewUserResponse.SerializeToString,
            ),
            'Client_RegisterNewSession': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_RegisterNewSession,
                    request_deserializer=truffle_dot_os_dot_client__session__pb2.RegisterNewSessionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__session__pb2.RegisterNewSessionResponse.SerializeToString,
            ),
            'Client_UserIDForToken': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_UserIDForToken,
                    request_deserializer=truffle_dot_os_dot_client__user__pb2.UserIDForTokenRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__user__pb2.UserIDForTokenResponse.SerializeToString,
            ),
            'Client_VerifyNewSessionRegistration': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_VerifyNewSessionRegistration,
                    request_deserializer=truffle_dot_os_dot_client__session__pb2.VerifyNewSessionRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__session__pb2.NewSessionStatus.SerializeToString,
            ),
            'Client_GetUserRecoveryCodes': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_GetUserRecoveryCodes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=truffle_dot_os_dot_client__session__pb2.UserRecoveryCodes.SerializeToString,
            ),
            'Client_UpdateClientState': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_UpdateClientState,
                    request_deserializer=truffle_dot_os_dot_client__state__pb2.UpdateClientStateRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__state__pb2.UpdateClientStateResponse.SerializeToString,
            ),
            'Client_GetClientState': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_GetClientState,
                    request_deserializer=truffle_dot_os_dot_client__state__pb2.GetClientStateRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__state__pb2.GetClientStateResponse.SerializeToString,
            ),
            'Client_GetAllClientStates': grpc.unary_unary_rpc_method_handler(
                    servicer.Client_GetAllClientStates,
                    request_deserializer=truffle_dot_os_dot_client__state__pb2.GetAllClientStatesRequest.FromString,
                    response_serializer=truffle_dot_os_dot_client__state__pb2.GetAllClientStatesResponse.SerializeToString,
            ),
            'SubscribeToNotifications': grpc.unary_stream_rpc_method_handler(
                    servicer.SubscribeToNotifications,
                    request_deserializer=truffle_dot_os_dot_notification__pb2.SubscribeToNotificationsRequest.FromString,
                    response_serializer=truffle_dot_os_dot_notification__pb2.Notification.SerializeToString,
            ),
            'Hardware_GetStats': grpc.unary_unary_rpc_method_handler(
                    servicer.Hardware_GetStats,
                    request_deserializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.FromString,
                    response_serializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.SerializeToString,
            ),
            'Hardware_StatsUpdates': grpc.unary_stream_rpc_method_handler(
                    servicer.Hardware_StatsUpdates,
                    request_deserializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.FromString,
                    response_serializer=truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.SerializeToString,
            ),
            'Hardware_PowerControl': grpc.unary_unary_rpc_method_handler(
                    servicer.Hardware_PowerControl,
                    request_deserializer=truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlRequest.FromString,
                    response_serializer=truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlResponse.SerializeToString,
            ),
            'System_GetID': grpc.unary_unary_rpc_method_handler(
                    servicer.System_GetID,
                    request_deserializer=truffle_dot_os_dot_system__info__pb2.SystemGetIDRequest.FromString,
                    response_serializer=truffle_dot_os_dot_system__info__pb2.SystemGetIDResponse.SerializeToString,
            ),
            'System_GetSettings': grpc.unary_unary_rpc_method_handler(
                    servicer.System_GetSettings,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.SerializeToString,
            ),
            'System_SetSettings': grpc.unary_unary_rpc_method_handler(
                    servicer.System_SetSettings,
                    request_deserializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.FromString,
                    response_serializer=truffle_dot_os_dot_system__settings__pb2.SystemSettings.SerializeToString,
            ),
            'System_GetInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.System_GetInfo,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=truffle_dot_os_dot_system__info__pb2.SystemInfo.SerializeToString,
            ),
            'System_CheckForUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.System_CheckForUpdate,
                    request_deserializer=truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateRequest.FromString,
                    response_serializer=truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateResponse.SerializeToString,
            ),
            'Task_TestExternalToolProvider': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_TestExternalToolProvider,
                    request_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderResponse.SerializeToString,
            ),
            'Task_OpenTask': grpc.unary_stream_rpc_method_handler(
                    servicer.Task_OpenTask,
                    request_deserializer=truffle_dot_os_dot_task__actions__pb2.OpenTaskRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__pb2.TaskStreamUpdate.SerializeToString,
            ),
            'Task_InterruptTask': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_InterruptTask,
                    request_deserializer=truffle_dot_os_dot_task__actions__pb2.InterruptTaskRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.SerializeToString,
            ),
            'Task_RespondToTask': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_RespondToTask,
                    request_deserializer=truffle_dot_os_dot_task__user__response__pb2.RespondToTaskRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.SerializeToString,
            ),
            'Task_SetAvailableApps': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_SetAvailableApps,
                    request_deserializer=truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsResponse.SerializeToString,
            ),
            'Task_SearchTasks': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_SearchTasks,
                    request_deserializer=truffle_dot_os_dot_task__search__pb2.SearchTasksRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__search__pb2.SearchTasksResponse.SerializeToString,
            ),
            'Task_GetTasks': grpc.unary_stream_rpc_method_handler(
                    servicer.Task_GetTasks,
                    request_deserializer=truffle_dot_os_dot_task__queries__pb2.GetTasksRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__pb2.Task.SerializeToString,
            ),
            'Task_GetOneTask': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_GetOneTask,
                    request_deserializer=truffle_dot_os_dot_task__queries__pb2.GetOneTaskRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__pb2.Task.SerializeToString,
            ),
            'Task_GetTaskInfos': grpc.unary_unary_rpc_method_handler(
                    servicer.Task_GetTaskInfos,
                    request_deserializer=truffle_dot_os_dot_task__queries__pb2.GetTaskInfosRequest.FromString,
                    response_serializer=truffle_dot_os_dot_task__queries__pb2.GetTaskInfosResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'truffle.os.TruffleOS', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('truffle.os.TruffleOS', rpc_method_handlers)


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

    @staticmethod
    def Apps_DeleteApp(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,
            '/truffle.os.TruffleOS/Apps_DeleteApp',
            truffle_dot_os_dot_app__queries__pb2.DeleteAppRequest.SerializeToString,
            truffle_dot_os_dot_app__queries__pb2.DeleteAppResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Apps_GetAll(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,
            '/truffle.os.TruffleOS/Apps_GetAll',
            truffle_dot_os_dot_app__queries__pb2.GetAllAppsRequest.SerializeToString,
            truffle_dot_os_dot_app__queries__pb2.GetAllAppsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Apps_InstallApp(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_stream(
            request_iterator,
            target,
            '/truffle.os.TruffleOS/Apps_InstallApp',
            truffle_dot_os_dot_installer__pb2.AppInstallRequest.SerializeToString,
            truffle_dot_os_dot_installer__pb2.AppInstallResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Background_GetFeed(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,
            '/truffle.os.TruffleOS/Background_GetFeed',
            truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedRequest.SerializeToString,
            truffle_dot_os_dot_background__feed__queries__pb2.GetBackgroundFeedResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Background_GetLatestFeedEntryID(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,
            '/truffle.os.TruffleOS/Background_GetLatestFeedEntryID',
            truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDRequest.SerializeToString,
            truffle_dot_os_dot_background__feed__queries__pb2.GetLatestFeedEntryIDResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Background_ApproveProactiveAction(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,
            '/truffle.os.TruffleOS/Background_ApproveProactiveAction',
            truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionRequest.SerializeToString,
            truffle_dot_os_dot_proactivity__pb2.ApproveProactiveActionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Background_CancelProactiveAction(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,
            '/truffle.os.TruffleOS/Background_CancelProactiveAction',
            truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionRequest.SerializeToString,
            truffle_dot_os_dot_proactivity__pb2.CancelProactiveActionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Builder_StartBuildSession(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,
            '/truffle.os.TruffleOS/Builder_StartBuildSession',
            truffle_dot_os_dot_builder__pb2.StartBuildSessionRequest.SerializeToString,
            truffle_dot_os_dot_builder__pb2.StartBuildSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Builder_FinishBuildSession(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,
            '/truffle.os.TruffleOS/Builder_FinishBuildSession',
            truffle_dot_os_dot_builder__pb2.FinishBuildSessionRequest.SerializeToString,
            truffle_dot_os_dot_builder__pb2.FinishBuildSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_RegisterNewUser(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,
            '/truffle.os.TruffleOS/Client_RegisterNewUser',
            truffle_dot_os_dot_client__user__pb2.RegisterNewUserRequest.SerializeToString,
            truffle_dot_os_dot_client__user__pb2.RegisterNewUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_RegisterNewSession(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,
            '/truffle.os.TruffleOS/Client_RegisterNewSession',
            truffle_dot_os_dot_client__session__pb2.RegisterNewSessionRequest.SerializeToString,
            truffle_dot_os_dot_client__session__pb2.RegisterNewSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_UserIDForToken(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,
            '/truffle.os.TruffleOS/Client_UserIDForToken',
            truffle_dot_os_dot_client__user__pb2.UserIDForTokenRequest.SerializeToString,
            truffle_dot_os_dot_client__user__pb2.UserIDForTokenResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_VerifyNewSessionRegistration(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,
            '/truffle.os.TruffleOS/Client_VerifyNewSessionRegistration',
            truffle_dot_os_dot_client__session__pb2.VerifyNewSessionRequest.SerializeToString,
            truffle_dot_os_dot_client__session__pb2.NewSessionStatus.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_GetUserRecoveryCodes(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,
            '/truffle.os.TruffleOS/Client_GetUserRecoveryCodes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            truffle_dot_os_dot_client__session__pb2.UserRecoveryCodes.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_UpdateClientState(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,
            '/truffle.os.TruffleOS/Client_UpdateClientState',
            truffle_dot_os_dot_client__state__pb2.UpdateClientStateRequest.SerializeToString,
            truffle_dot_os_dot_client__state__pb2.UpdateClientStateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_GetClientState(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,
            '/truffle.os.TruffleOS/Client_GetClientState',
            truffle_dot_os_dot_client__state__pb2.GetClientStateRequest.SerializeToString,
            truffle_dot_os_dot_client__state__pb2.GetClientStateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Client_GetAllClientStates(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,
            '/truffle.os.TruffleOS/Client_GetAllClientStates',
            truffle_dot_os_dot_client__state__pb2.GetAllClientStatesRequest.SerializeToString,
            truffle_dot_os_dot_client__state__pb2.GetAllClientStatesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SubscribeToNotifications(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,
            '/truffle.os.TruffleOS/SubscribeToNotifications',
            truffle_dot_os_dot_notification__pb2.SubscribeToNotificationsRequest.SerializeToString,
            truffle_dot_os_dot_notification__pb2.Notification.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Hardware_GetStats(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,
            '/truffle.os.TruffleOS/Hardware_GetStats',
            truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.SerializeToString,
            truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Hardware_StatsUpdates(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,
            '/truffle.os.TruffleOS/Hardware_StatsUpdates',
            truffle_dot_os_dot_hardware__stats__pb2.HardwareStatsRequest.SerializeToString,
            truffle_dot_os_dot_hardware__stats__pb2.HardwareStats.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Hardware_PowerControl(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,
            '/truffle.os.TruffleOS/Hardware_PowerControl',
            truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlRequest.SerializeToString,
            truffle_dot_os_dot_hardware__control__pb2.HardwarePowerControlResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def System_GetID(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,
            '/truffle.os.TruffleOS/System_GetID',
            truffle_dot_os_dot_system__info__pb2.SystemGetIDRequest.SerializeToString,
            truffle_dot_os_dot_system__info__pb2.SystemGetIDResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def System_GetSettings(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,
            '/truffle.os.TruffleOS/System_GetSettings',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            truffle_dot_os_dot_system__settings__pb2.SystemSettings.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def System_SetSettings(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,
            '/truffle.os.TruffleOS/System_SetSettings',
            truffle_dot_os_dot_system__settings__pb2.SystemSettings.SerializeToString,
            truffle_dot_os_dot_system__settings__pb2.SystemSettings.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def System_GetInfo(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,
            '/truffle.os.TruffleOS/System_GetInfo',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            truffle_dot_os_dot_system__info__pb2.SystemInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def System_CheckForUpdate(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,
            '/truffle.os.TruffleOS/System_CheckForUpdate',
            truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateRequest.SerializeToString,
            truffle_dot_os_dot_system__info__pb2.SystemCheckForUpdateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_TestExternalToolProvider(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,
            '/truffle.os.TruffleOS/Task_TestExternalToolProvider',
            truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderRequest.SerializeToString,
            truffle_dot_os_dot_task__actions__pb2.TaskTestExternalToolProviderResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_OpenTask(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,
            '/truffle.os.TruffleOS/Task_OpenTask',
            truffle_dot_os_dot_task__actions__pb2.OpenTaskRequest.SerializeToString,
            truffle_dot_os_dot_task__pb2.TaskStreamUpdate.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_InterruptTask(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,
            '/truffle.os.TruffleOS/Task_InterruptTask',
            truffle_dot_os_dot_task__actions__pb2.InterruptTaskRequest.SerializeToString,
            truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_RespondToTask(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,
            '/truffle.os.TruffleOS/Task_RespondToTask',
            truffle_dot_os_dot_task__user__response__pb2.RespondToTaskRequest.SerializeToString,
            truffle_dot_os_dot_task__actions__pb2.TaskActionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_SetAvailableApps(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,
            '/truffle.os.TruffleOS/Task_SetAvailableApps',
            truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsRequest.SerializeToString,
            truffle_dot_os_dot_task__actions__pb2.TaskSetAvailableAppsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_SearchTasks(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,
            '/truffle.os.TruffleOS/Task_SearchTasks',
            truffle_dot_os_dot_task__search__pb2.SearchTasksRequest.SerializeToString,
            truffle_dot_os_dot_task__search__pb2.SearchTasksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_GetTasks(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,
            '/truffle.os.TruffleOS/Task_GetTasks',
            truffle_dot_os_dot_task__queries__pb2.GetTasksRequest.SerializeToString,
            truffle_dot_os_dot_task__pb2.Task.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_GetOneTask(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,
            '/truffle.os.TruffleOS/Task_GetOneTask',
            truffle_dot_os_dot_task__queries__pb2.GetOneTaskRequest.SerializeToString,
            truffle_dot_os_dot_task__pb2.Task.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Task_GetTaskInfos(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,
            '/truffle.os.TruffleOS/Task_GetTaskInfos',
            truffle_dot_os_dot_task__queries__pb2.GetTaskInfosRequest.SerializeToString,
            truffle_dot_os_dot_task__queries__pb2.GetTaskInfosResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
