# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

import perfdog_pb2 as perfdog__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.loginWithToken = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/loginWithToken',
                request_serializer=perfdog__pb2.Token.SerializeToString,
                response_deserializer=perfdog__pb2.UserInfo.FromString,
                )
        self.startDeviceMonitor = channel.unary_stream(
                '/com.perfdog.proto.PerfDogService/startDeviceMonitor',
                request_serializer=perfdog__pb2.Empty.SerializeToString,
                response_deserializer=perfdog__pb2.DeviceEvent.FromString,
                )
        self.initDevice = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/initDevice',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.getDeviceInfo = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getDeviceInfo',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.DeviceInfo.FromString,
                )
        self.getDeviceStatus = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getDeviceStatus',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.DeviceStatus.FromString,
                )
        self.getAppList = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getAppList',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.AppList.FromString,
                )
        self.enablePerfDataType = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/enablePerfDataType',
                request_serializer=perfdog__pb2.EnablePerfDataTypeReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.disablePerfDataType = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/disablePerfDataType',
                request_serializer=perfdog__pb2.DisablePerfDataTypeReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.getPerfDataType = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getPerfDataType',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.PerfDataTypeRet.FromString,
                )
        self.getAvailableDataType = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getAvailableDataType',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.PerfDataTypeRet.FromString,
                )
        self.setScreenShotInterval = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/setScreenShotInterval',
                request_serializer=perfdog__pb2.ScreenShotInterval.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.startTestApp = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/startTestApp',
                request_serializer=perfdog__pb2.StartTestAppReq.SerializeToString,
                response_deserializer=perfdog__pb2.StartTestRet.FromString,
                )
        self.startTestSysProcess = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/startTestSysProcess',
                request_serializer=perfdog__pb2.StartTestSysProcessReq.SerializeToString,
                response_deserializer=perfdog__pb2.StartTestRet.FromString,
                )
        self.openPerfDataStream = channel.unary_stream(
                '/com.perfdog.proto.PerfDogService/openPerfDataStream',
                request_serializer=perfdog__pb2.OpenPerfDataStreamReq.SerializeToString,
                response_deserializer=perfdog__pb2.PerfData.FromString,
                )
        self.stopTest = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/stopTest',
                request_serializer=perfdog__pb2.StopTestReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.setLabel = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/setLabel',
                request_serializer=perfdog__pb2.SetLabelReq.SerializeToString,
                response_deserializer=perfdog__pb2.SetLabelRet.FromString,
                )
        self.updateLabel = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/updateLabel',
                request_serializer=perfdog__pb2.UpdateLabelReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.addNote = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/addNote',
                request_serializer=perfdog__pb2.AddNoteReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.removeNote = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/removeNote',
                request_serializer=perfdog__pb2.RemoveNoteReq.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )
        self.setGlobalDataUploadServer = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/setGlobalDataUploadServer',
                request_serializer=perfdog__pb2.SetDataUploadServerReq.SerializeToString,
                response_deserializer=perfdog__pb2.SetDataUploadServerRsp.FromString,
                )
        self.saveData = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/saveData',
                request_serializer=perfdog__pb2.SaveDataReq.SerializeToString,
                response_deserializer=perfdog__pb2.SaveDataRsp.FromString,
                )
        self.getDeviceCacheData = channel.unary_stream(
                '/com.perfdog.proto.PerfDogService/getDeviceCacheData',
                request_serializer=perfdog__pb2.GetDeviceCacheDataReq.SerializeToString,
                response_deserializer=perfdog__pb2.CachePerfData.FromString,
                )
        self.getDeviceCacheDataPacked = channel.unary_stream(
                '/com.perfdog.proto.PerfDogService/getDeviceCacheDataPacked',
                request_serializer=perfdog__pb2.GetDeviceCacheDataPackedReq.SerializeToString,
                response_deserializer=perfdog__pb2.CachePerfDataPacked.FromString,
                )
        self.getAppRunningProcess = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getAppRunningProcess',
                request_serializer=perfdog__pb2.GetAppRunningProcessReq.SerializeToString,
                response_deserializer=perfdog__pb2.GetAppRunningProcessRet.FromString,
                )
        self.getAppWindowsMap = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getAppWindowsMap',
                request_serializer=perfdog__pb2.GetAppWindowsMapReq.SerializeToString,
                response_deserializer=perfdog__pb2.GetAppWindowsMapRet.FromString,
                )
        self.getRunningSysProcess = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/getRunningSysProcess',
                request_serializer=perfdog__pb2.Device.SerializeToString,
                response_deserializer=perfdog__pb2.GetRunningSysProcessRet.FromString,
                )
        self.updateAppInfo = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/updateAppInfo',
                request_serializer=perfdog__pb2.UpdateAppInfoReq.SerializeToString,
                response_deserializer=perfdog__pb2.UpdateAppInfoRet.FromString,
                )
        self.createTask = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/createTask',
                request_serializer=perfdog__pb2.CreateTaskReq.SerializeToString,
                response_deserializer=perfdog__pb2.CreateTaskRsp.FromString,
                )
        self.archiveCaseToTask = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/archiveCaseToTask',
                request_serializer=perfdog__pb2.ArchiveCaseToTaskReq.SerializeToString,
                response_deserializer=perfdog__pb2.ArchiveCaseToTaskRsp.FromString,
                )
        self.shareCase = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/shareCase',
                request_serializer=perfdog__pb2.ShareCaseReq.SerializeToString,
                response_deserializer=perfdog__pb2.ShareCaseRsp.FromString,
                )
        self.killServer = channel.unary_unary(
                '/com.perfdog.proto.PerfDogService/killServer',
                request_serializer=perfdog__pb2.Empty.SerializeToString,
                response_deserializer=perfdog__pb2.Empty.FromString,
                )


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

    def loginWithToken(self, request, context):
        """通过申请的token登录
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def startDeviceMonitor(self, request, context):
        """启动设备监听器
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def initDevice(self, request, context):
        """初始化设备
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getDeviceInfo(self, request, context):
        """获取设备信息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getDeviceStatus(self, request, context):
        """获取设备状态
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAppList(self, request, context):
        """获取设备APP列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def enablePerfDataType(self, request, context):
        """开启数据类型
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def disablePerfDataType(self, request, context):
        """关闭数据类型
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getPerfDataType(self, request, context):
        """获取已开启数据类型的列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAvailableDataType(self, request, context):
        """获取设备可以开启的数据项
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def setScreenShotInterval(self, request, context):
        """设置截屏时间间隔
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def startTestApp(self, request, context):
        """开始测试
        Android默认开启的数据类型有FPS、CPU_USAGE、MEMORY、CPU_TEMPERATURE、NETWORK_USAGE、FRAME_TIME和BATTERY(wifi模式)
        iOS默认开启的数据类型有FPS、CPU_USAGE、MEMORY、IOS_GPU_USAGE、NETWORK_USAGE、CTX_SWITCH、FRAME_TIME(usb模式)和BATTERY(wifi模式)
        如果需要开启或者关闭其他数据类型，请使用enablePerfDataType和disablePerfDataType接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def startTestSysProcess(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 openPerfDataStream(self, request, context):
        """获取设备实时的测试数据流
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def stopTest(self, request, context):
        """结束测试
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def setLabel(self, request, context):
        """设置Label
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateLabel(self, request, context):
        """修改label的名字
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def addNote(self, request, context):
        """添加批注
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def removeNote(self, request, context):
        """删除批注
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def setGlobalDataUploadServer(self, request, context):
        """设置全局的数据上传服务器,不设置的情况下默认上传到PerfDog云平台
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def saveData(self, request, context):
        """上传数据(默认上传到PerfDog云平台,可通过setGlobalDataUploadServer接口修改),同时保存到本地Excel文件
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getDeviceCacheData(self, request, context):
        """获取设备的缓存数据,数据按条返回
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getDeviceCacheDataPacked(self, request, context):
        """获取设备的缓存数据,数据打包成json或protobuf一次返回
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAppRunningProcess(self, request, context):
        """获取设备上app正在运行的进程列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAppWindowsMap(self, request, context):
        """获取app每个进程id对应的Activity和SurfaceView,仅适用于android
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getRunningSysProcess(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 updateAppInfo(self, request, context):
        """刷新app的信息,用于获取完app列表后修改了被测app(例如升级了版本)的情况
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def createTask(self, request, context):
        """web上的创建任务接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def archiveCaseToTask(self, request, context):
        """web上的把case归档到task的接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def shareCase(self, request, context):
        """web上的分享case接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def killServer(self, request, context):
        """关闭PerfDogService
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_PerfDogServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'loginWithToken': grpc.unary_unary_rpc_method_handler(
                    servicer.loginWithToken,
                    request_deserializer=perfdog__pb2.Token.FromString,
                    response_serializer=perfdog__pb2.UserInfo.SerializeToString,
            ),
            'startDeviceMonitor': grpc.unary_stream_rpc_method_handler(
                    servicer.startDeviceMonitor,
                    request_deserializer=perfdog__pb2.Empty.FromString,
                    response_serializer=perfdog__pb2.DeviceEvent.SerializeToString,
            ),
            'initDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.initDevice,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'getDeviceInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.getDeviceInfo,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.DeviceInfo.SerializeToString,
            ),
            'getDeviceStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.getDeviceStatus,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.DeviceStatus.SerializeToString,
            ),
            'getAppList': grpc.unary_unary_rpc_method_handler(
                    servicer.getAppList,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.AppList.SerializeToString,
            ),
            'enablePerfDataType': grpc.unary_unary_rpc_method_handler(
                    servicer.enablePerfDataType,
                    request_deserializer=perfdog__pb2.EnablePerfDataTypeReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'disablePerfDataType': grpc.unary_unary_rpc_method_handler(
                    servicer.disablePerfDataType,
                    request_deserializer=perfdog__pb2.DisablePerfDataTypeReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'getPerfDataType': grpc.unary_unary_rpc_method_handler(
                    servicer.getPerfDataType,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.PerfDataTypeRet.SerializeToString,
            ),
            'getAvailableDataType': grpc.unary_unary_rpc_method_handler(
                    servicer.getAvailableDataType,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.PerfDataTypeRet.SerializeToString,
            ),
            'setScreenShotInterval': grpc.unary_unary_rpc_method_handler(
                    servicer.setScreenShotInterval,
                    request_deserializer=perfdog__pb2.ScreenShotInterval.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'startTestApp': grpc.unary_unary_rpc_method_handler(
                    servicer.startTestApp,
                    request_deserializer=perfdog__pb2.StartTestAppReq.FromString,
                    response_serializer=perfdog__pb2.StartTestRet.SerializeToString,
            ),
            'startTestSysProcess': grpc.unary_unary_rpc_method_handler(
                    servicer.startTestSysProcess,
                    request_deserializer=perfdog__pb2.StartTestSysProcessReq.FromString,
                    response_serializer=perfdog__pb2.StartTestRet.SerializeToString,
            ),
            'openPerfDataStream': grpc.unary_stream_rpc_method_handler(
                    servicer.openPerfDataStream,
                    request_deserializer=perfdog__pb2.OpenPerfDataStreamReq.FromString,
                    response_serializer=perfdog__pb2.PerfData.SerializeToString,
            ),
            'stopTest': grpc.unary_unary_rpc_method_handler(
                    servicer.stopTest,
                    request_deserializer=perfdog__pb2.StopTestReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'setLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.setLabel,
                    request_deserializer=perfdog__pb2.SetLabelReq.FromString,
                    response_serializer=perfdog__pb2.SetLabelRet.SerializeToString,
            ),
            'updateLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.updateLabel,
                    request_deserializer=perfdog__pb2.UpdateLabelReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'addNote': grpc.unary_unary_rpc_method_handler(
                    servicer.addNote,
                    request_deserializer=perfdog__pb2.AddNoteReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'removeNote': grpc.unary_unary_rpc_method_handler(
                    servicer.removeNote,
                    request_deserializer=perfdog__pb2.RemoveNoteReq.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
            'setGlobalDataUploadServer': grpc.unary_unary_rpc_method_handler(
                    servicer.setGlobalDataUploadServer,
                    request_deserializer=perfdog__pb2.SetDataUploadServerReq.FromString,
                    response_serializer=perfdog__pb2.SetDataUploadServerRsp.SerializeToString,
            ),
            'saveData': grpc.unary_unary_rpc_method_handler(
                    servicer.saveData,
                    request_deserializer=perfdog__pb2.SaveDataReq.FromString,
                    response_serializer=perfdog__pb2.SaveDataRsp.SerializeToString,
            ),
            'getDeviceCacheData': grpc.unary_stream_rpc_method_handler(
                    servicer.getDeviceCacheData,
                    request_deserializer=perfdog__pb2.GetDeviceCacheDataReq.FromString,
                    response_serializer=perfdog__pb2.CachePerfData.SerializeToString,
            ),
            'getDeviceCacheDataPacked': grpc.unary_stream_rpc_method_handler(
                    servicer.getDeviceCacheDataPacked,
                    request_deserializer=perfdog__pb2.GetDeviceCacheDataPackedReq.FromString,
                    response_serializer=perfdog__pb2.CachePerfDataPacked.SerializeToString,
            ),
            'getAppRunningProcess': grpc.unary_unary_rpc_method_handler(
                    servicer.getAppRunningProcess,
                    request_deserializer=perfdog__pb2.GetAppRunningProcessReq.FromString,
                    response_serializer=perfdog__pb2.GetAppRunningProcessRet.SerializeToString,
            ),
            'getAppWindowsMap': grpc.unary_unary_rpc_method_handler(
                    servicer.getAppWindowsMap,
                    request_deserializer=perfdog__pb2.GetAppWindowsMapReq.FromString,
                    response_serializer=perfdog__pb2.GetAppWindowsMapRet.SerializeToString,
            ),
            'getRunningSysProcess': grpc.unary_unary_rpc_method_handler(
                    servicer.getRunningSysProcess,
                    request_deserializer=perfdog__pb2.Device.FromString,
                    response_serializer=perfdog__pb2.GetRunningSysProcessRet.SerializeToString,
            ),
            'updateAppInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.updateAppInfo,
                    request_deserializer=perfdog__pb2.UpdateAppInfoReq.FromString,
                    response_serializer=perfdog__pb2.UpdateAppInfoRet.SerializeToString,
            ),
            'createTask': grpc.unary_unary_rpc_method_handler(
                    servicer.createTask,
                    request_deserializer=perfdog__pb2.CreateTaskReq.FromString,
                    response_serializer=perfdog__pb2.CreateTaskRsp.SerializeToString,
            ),
            'archiveCaseToTask': grpc.unary_unary_rpc_method_handler(
                    servicer.archiveCaseToTask,
                    request_deserializer=perfdog__pb2.ArchiveCaseToTaskReq.FromString,
                    response_serializer=perfdog__pb2.ArchiveCaseToTaskRsp.SerializeToString,
            ),
            'shareCase': grpc.unary_unary_rpc_method_handler(
                    servicer.shareCase,
                    request_deserializer=perfdog__pb2.ShareCaseReq.FromString,
                    response_serializer=perfdog__pb2.ShareCaseRsp.SerializeToString,
            ),
            'killServer': grpc.unary_unary_rpc_method_handler(
                    servicer.killServer,
                    request_deserializer=perfdog__pb2.Empty.FromString,
                    response_serializer=perfdog__pb2.Empty.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'com.perfdog.proto.PerfDogService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def loginWithToken(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/loginWithToken',
            perfdog__pb2.Token.SerializeToString,
            perfdog__pb2.UserInfo.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def startDeviceMonitor(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/com.perfdog.proto.PerfDogService/startDeviceMonitor',
            perfdog__pb2.Empty.SerializeToString,
            perfdog__pb2.DeviceEvent.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def initDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/initDevice',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getDeviceInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getDeviceInfo',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.DeviceInfo.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getDeviceStatus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getDeviceStatus',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.DeviceStatus.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAppList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getAppList',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.AppList.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def enablePerfDataType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/enablePerfDataType',
            perfdog__pb2.EnablePerfDataTypeReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def disablePerfDataType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/disablePerfDataType',
            perfdog__pb2.DisablePerfDataTypeReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getPerfDataType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getPerfDataType',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.PerfDataTypeRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAvailableDataType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getAvailableDataType',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.PerfDataTypeRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def setScreenShotInterval(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/setScreenShotInterval',
            perfdog__pb2.ScreenShotInterval.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def startTestApp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/startTestApp',
            perfdog__pb2.StartTestAppReq.SerializeToString,
            perfdog__pb2.StartTestRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def startTestSysProcess(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/startTestSysProcess',
            perfdog__pb2.StartTestSysProcessReq.SerializeToString,
            perfdog__pb2.StartTestRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def openPerfDataStream(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/com.perfdog.proto.PerfDogService/openPerfDataStream',
            perfdog__pb2.OpenPerfDataStreamReq.SerializeToString,
            perfdog__pb2.PerfData.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def stopTest(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/stopTest',
            perfdog__pb2.StopTestReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def setLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/setLabel',
            perfdog__pb2.SetLabelReq.SerializeToString,
            perfdog__pb2.SetLabelRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def updateLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/updateLabel',
            perfdog__pb2.UpdateLabelReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addNote(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/addNote',
            perfdog__pb2.AddNoteReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def removeNote(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/removeNote',
            perfdog__pb2.RemoveNoteReq.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def setGlobalDataUploadServer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/setGlobalDataUploadServer',
            perfdog__pb2.SetDataUploadServerReq.SerializeToString,
            perfdog__pb2.SetDataUploadServerRsp.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def saveData(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/saveData',
            perfdog__pb2.SaveDataReq.SerializeToString,
            perfdog__pb2.SaveDataRsp.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getDeviceCacheData(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/com.perfdog.proto.PerfDogService/getDeviceCacheData',
            perfdog__pb2.GetDeviceCacheDataReq.SerializeToString,
            perfdog__pb2.CachePerfData.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getDeviceCacheDataPacked(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/com.perfdog.proto.PerfDogService/getDeviceCacheDataPacked',
            perfdog__pb2.GetDeviceCacheDataPackedReq.SerializeToString,
            perfdog__pb2.CachePerfDataPacked.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAppRunningProcess(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getAppRunningProcess',
            perfdog__pb2.GetAppRunningProcessReq.SerializeToString,
            perfdog__pb2.GetAppRunningProcessRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAppWindowsMap(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getAppWindowsMap',
            perfdog__pb2.GetAppWindowsMapReq.SerializeToString,
            perfdog__pb2.GetAppWindowsMapRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getRunningSysProcess(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/getRunningSysProcess',
            perfdog__pb2.Device.SerializeToString,
            perfdog__pb2.GetRunningSysProcessRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def updateAppInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/updateAppInfo',
            perfdog__pb2.UpdateAppInfoReq.SerializeToString,
            perfdog__pb2.UpdateAppInfoRet.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def createTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/createTask',
            perfdog__pb2.CreateTaskReq.SerializeToString,
            perfdog__pb2.CreateTaskRsp.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def archiveCaseToTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/archiveCaseToTask',
            perfdog__pb2.ArchiveCaseToTaskReq.SerializeToString,
            perfdog__pb2.ArchiveCaseToTaskRsp.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def shareCase(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/shareCase',
            perfdog__pb2.ShareCaseReq.SerializeToString,
            perfdog__pb2.ShareCaseRsp.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def killServer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/com.perfdog.proto.PerfDogService/killServer',
            perfdog__pb2.Empty.SerializeToString,
            perfdog__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)
