UNPKG

bc-sdk

Version:
1,166 lines 100 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ffi = require("ffi"); const path = require('path'); const _T = require("./_struct"); exports.renderCallbackFunc = ffi.Function('void', ['int', 'int', _T.P_RENDER_FRAME_DESC, _T.pointer('void')]); exports.dataCallbackFunc = ffi.Function('void', ['int', 'int', _T.P_DATA_FRAME_DESC, _T.pointer('void')]); exports.diskStatusCallback = ffi.Function('void', [_T.P_BC_DISK_WARNINIG_DESC, _T.pointer('void')]); exports.recordStatusCallback = ffi.Function('void', [_T.P_BC_REC_EVENT_DESC, _T.pointer('void')]); exports.deviceFoundCallback = ffi.Function('void', [_T.P_DEVICE_LOCATION_DESC, _T.pointer('void')]); const folder = process.env.NODE_ENV === "development" ? process.env.VUE_APP_DIR_PLATFORM_EXTERNALS : __dirname; function tryLoad(lib) { try { ffi.Library(path.join(folder, lib)); } catch (e) { console.log('error load --- ' + lib); console.log(e); } } if (process.platform === "win32") { tryLoad('vcruntime140'); tryLoad('msvcp140'); tryLoad('BCP2P_API'); tryLoad('IOTCAPIs'); tryLoad('RDTApis'); tryLoad('D3DX9_42'); tryLoad('avutil-55'); tryLoad('swresample-2'); tryLoad('swscale-4'); tryLoad('avcodec-57'); tryLoad('avformat-57'); } const MFFI = ffi.Library(path.join(folder, 'libBCSDKWrapper'), { /************************************************************************ * * Device interfaces * ************************************************************************/ BCSDK_Open: ['int', ['int', 'int', 'int']], BCSDK_AddDevice: ['int', [_T.P_DEVICE_LOGIN_DESC, _T.P_DEVICE_CALLBACK_DESC, _T.pointer('int')]], BCSDK_RemoveDevice: ['int', ['int']], BCSDK_RemoveAllDevices: ['int', ['void']], BCSDK_ModifyDevice: ['int', ['int', _T.P_DEVICE_LOGIN_DESC, _T.P_DEVICE_CALLBACK_DESC, _T.pointer('int')]], BCSDK_GetDeviceCount: ['int', ['void']], BCSDK_GetDevice: ['int', ['int']], BCSDK_SetIsInBackground: ['int', ['bool']], BCSDK_SetNetworkType: ['int', ['int']], BCSDK_SetAccountCenter: ['int', ['string', 'string', 'string']], BCSDK_SetShouldLoginWithSignature: ['int', ['int', 'bool']], BCSDK_SetDeviceNeedAutoOpen: ['int', ['int', 'bool']], BCSDK_SetDeviceMaxReconnectCount: ['int', ['int', 'int']], BCSDK_StartDevicesAutoOpen: ['int', ['int']], BCSDK_StopDevicesAutoOpen: ['int', ['bool']], BCSDK_DeviceForceOpen: ['int', ['int', 'bool']], BCSDK_DeviceForceClose: ['int', ['int', 'bool']], BCSDK_GetDeviceChannelCount: ['int', ['int', _T.pointer('int')]], BCSDK_GetDeviceLoginMessage: ['int', ['int', _T.P_DEVICE_LOGIN_DESC]], BCSDK_GetDeviceState: ['int', ['int', _T.pointer('int')]], BCSDK_SetDeviceExtension: ['int', ['int', _T.pointer('void')]], BCSDK_GetDeviceExtension: ['int', ['int', _T.pointer(_T.pointer('void'))]] /************************************************************************ * * Abilities interfaces * ************************************************************************/ , BCSDK_SetAbilityAbout: ['int', ['int', _T.P_DEVICE_ABILITY_ABOUT]], BCSDK_GetDeviceType: ['int', ['int', _T.pointer('int')]], BCSDK_GetIsLoginByDefaultPass: ['int', ['int', _T.pointer('bool')]], BCSDK_GetDeviceNorm: ['int', ['int', _T.pointer('int')]], BCSDK_GetSupportRF: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPush: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportReplay: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportReplaySubStream: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportTimingRecord: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecordEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportReplaySpeed: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportAlarmVideoMark: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportCoverPreview: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportDeleteRecordFiles: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPolling: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportAutoNtp: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportWiFi: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportWiFiCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportWiFiTest: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportInitAP: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTP: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPTest: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPSubStream: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPExtensionStream: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPPicture: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportFTPAutoDir: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRTSP: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRTMP: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportONVIF: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportP2PEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportP2PDomainName: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportP2PPort: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPppoe: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportSeek: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportIFramePreview: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportIFrameReplay: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportHDD: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportSDCard: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportTimeFormat: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportDateFormat: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportEmailTask: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportEmailNickName: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportEmailInterval: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportEmailEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPushTask: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPushEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportCloud: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportCloudCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportCloudSchedule: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportCloudSignatureLoginCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportAccountBind: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportServerControlStreamType: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSmarthomeAbility: ['int', ['int', _T.pointer('int')]], BCSDK_GetSupportUpgrade: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportOutput: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportVideoLost: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPTZSetting: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportPerformance: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportAutoUpdate: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportReboot: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportVideoStandard: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportUpnp: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportExceptionCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportLogSearch: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportDDNSCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportMediaPort: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportHttpPort: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportHttpsPort: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportNtp: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecSchedule: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecSettings: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecOverWriteCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecPreRecordCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecPackDurationCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecRecordExtensionCfg: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportRecRecordExtensionTimeList: ['int', ['int', _T.pointer('bool')]], BCSDK_GetIsWifiIPC: ['int', ['int', _T.pointer('bool')]], BCSDK_GetIsIPC: ['int', ['int', _T.pointer('bool')]], BCSDK_GetIsNVR: ['int', ['int', _T.pointer('bool')]], BCSDK_GetIsBASE: ['int', ['int', _T.pointer('bool')]], BCSDK_GetHasAdminPermission: ['int', ['int', _T.pointer('bool')]], BCSDK_GetUserVersion: ['int', ['int', _T.pointer('int')]], BCSDK_GetPTZMode: ['int', ['int', _T.pointer('int')]], BCSDK_GetAlarmInPortCount: ['int', ['int', _T.pointer('int')]], BCSDK_GetAlarmOutPortCount: ['int', ['int', _T.pointer('int')]], BCSDK_GetDdnsVersion: ['int', ['int', _T.pointer('int')]], BCSDK_GetAnalogChannelCount: ['int', ['int', _T.pointer('int')]], BCSDK_GetPushType: ['int', ['int', _T.pointer('int')]] /*, BCSDK_GetPushSecretCode: ['int', ['int', 'char[]' 'int']] */ , BCSDK_GetRfVersion: ['int', ['int', _T.pointer('int')]], BCSDK_GetRfNumbers: ['int', ['int', _T.pointer('int')]], BCSDK_GetSupportSimModule: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportShowQrcode: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportChinese: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportNasBind: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportNasUnbind: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportNasBindStatusInfo: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportExport: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportImport: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportSyncUTCTime: ['int', ['int', _T.pointer('bool')]], BCSDK_GetQRAudios: ['int', ['int', _T.P_BC_QR_AUDIOS_INFO]], BCSDK_GetSupportSamba: ['int', ['int', _T.pointer('bool')]], BCSDK_GetScheduleVersion: ['int', ['int', _T.pointer('int')]], BCSDK_GetSupportBuzzer: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportBuzzerTask: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportBuzzerEnable: ['int', ['int', _T.pointer('bool')]], BCSDK_GetSupportChannelVersion: ['int', ['int', _T.pointer('bool')]] /************************************************************************ * MARK: Channel abilities ************************************************************************/ , BCSDK_GetEncodeTable: ['int', ['int', 'int', _T.P_BC_ENC_PROFILE_TABLE]], BCSDK_GetIsVideoLoss: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportCameraMode: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportExtenStream: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportExtenStreamCfg: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportLEDControl: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIndicatorLight: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportFloodlight: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportFloodlightBrightnessCtrl: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportFloodlightAutoByPreview: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportFloodlightModeConfig: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportPtzSpeed: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportPtzCruise: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportPtzPreset: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportPt: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAutoPt: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportZoomAndFocus: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportZoomAndFocusSliderCfg: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportOnly4Directions: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportGuardPoint: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportPTSelfTestCfg: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAudio: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAutoFocus: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportCropSnap: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportTalk: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportMD: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportMDWithPIR: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportMDTriggerAudio: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportMDTriggerRecord: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportShelterCfg: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetIsBattery: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetIsCharge: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportBatAnalysis: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAudioAlarmEnable: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAudioAlarmSchedule: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportManualRingDown: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportCustomRingtone: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportOsdPadding: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportOsdWaterMark: ['int', ['int', 'int', _T.pointer('bool')]] // ISP , BCSDK_GetSupportIspDayNight: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspAntiFlick: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspExposureMode: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspWhiteBalance: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspBacklight: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIsp3dnr: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspMirror: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspFlip: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspBright: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspContrast: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspSatruation: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspHue: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspSharpen: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspDayNightThreshold: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspBrightDarkRegulate: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportIspFirstFrameStrategy: ['int', ['int', 'int', _T.pointer('bool')]] // AI , BCSDK_GetSupportAI: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIPeople: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIVehicle: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIFace: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIAnimal: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIOther: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAIDetectConfig: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportAITrack: ['int', ['int', 'int', _T.pointer('bool')]] // Timelapse , BCSDK_GetSupportTimelapse: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetSupportTimelapseThumbnail: ['int', ['int', 'int', _T.pointer('bool')]] /************************************************************************ * * Live interfaces * ************************************************************************/ , BCSDK_GetIsLiveOpen: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetLiveStreamType: ['int', ['int', 'int', _T.pointer('int')]], BCSDK_LiveOpen: ['int', ['int', 'int', 'int', exports.renderCallbackFunc, _T.pointer('void')]], BCSDK_LiveClose2: ['int', ['int', 'int']], BCSDK_LiveMute: ['int', ['int', 'int', 'bool']] /************************************************************************ * * PTZ interfaces * ************************************************************************/ , BCSDK_PTZStop: ['int', ['int', 'int']], BCSDK_PTZUp: ['int', ['int', 'int', 'int']], BCSDK_PTZDown: ['int', ['int', 'int', 'int']], BCSDK_PTZLeft: ['int', ['int', 'int', 'int']], BCSDK_PTZRight: ['int', ['int', 'int', 'int']], BCSDK_PTZUpLeft: ['int', ['int', 'int', 'int']], BCSDK_PTZUpRight: ['int', ['int', 'int', 'int']], BCSDK_PTZDownLeft: ['int', ['int', 'int', 'int']], BCSDK_PTZDownRight: ['int', ['int', 'int', 'int']], BCSDK_PTZZoomIn: ['int', ['int', 'int', 'int']], BCSDK_PTZZoomOut: ['int', ['int', 'int', 'int']], BCSDK_PTZFocusFar: ['int', ['int', 'int', 'int']], BCSDK_PTZFocusNear: ['int', ['int', 'int', 'int']], BCSDK_PTZIrisOpen: ['int', ['int', 'int', 'int']], BCSDK_PTZIrisClose: ['int', ['int', 'int', 'int']], BCSDK_PTZScanAuto: ['int', ['int', 'int', 'int']] /************************************************************************ * * Playback interfaces * ************************************************************************/ , BCSDK_RecordFilesSearch: ['int', ['int', 'int', 'string', _T.BC_TIME, _T.BC_TIME, 'int', 'int']], BCSDK_AlarmVideosSearch: ['int', ['int', 'int', _T.BC_TIME, _T.BC_TIME, 'int', 'int']], BCSDK_PlaybackSeek: ['int', ['int', _T.P_BC_TIME]], BCSDK_GetPlaybackState: ['int', ['int', 'int', _T.pointer('int')]], BCSDK_GetIsPlaybackOpen: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_GetPlaybackStreamType: ['int', ['int', 'int', _T.pointer('int')]], BCSDK_PlaybackOpen: ['int', ['int', 'int', 'string', 'string', 'string', 'string', 'bool', 'float', exports.renderCallbackFunc, _T.pointer('void')]], BCSDK_PlaybackClose2: ['int', ['int', 'int']], BCSDK_PlaybackStart: ['int', ['int', 'int']], BCSDK_PlaybackPause: ['int', ['int', 'int']], BCSDK_PlaybackStop: ['int', ['int', 'int']], BCSDK_PlaybackStep: ['int', ['int', 'int']], BCSDK_PlaybackMute: ['int', ['int', 'int', 'bool']] /************************************************************************ * * Talk interfaces * ************************************************************************/ , BCSDK_AudioTalkOpen2: ['int', ['int', 'int']], BCSDK_AudioTalkClose: ['int', ['int', 'int']], BCSDK_GetAudioTalkState: ['int', ['int', 'int', _T.pointer('int')]] /************************************************************************ * * Local Reocrd interfaces * ************************************************************************/ /** * Record Callback */ , BCSDK_SetDiskCallbacks: ['int', [exports.diskStatusCallback, _T.pointer('void')]], BCSDK_SetRecordCallback: ['int', [exports.recordStatusCallback, _T.pointer('void')]] // ----------------------------------------------------------------------------------------------------------------- // Record Folder , BCSDK_SetRecordFolder: ['int', ['string', 'string', 'uint64', 'uint64']] // ----------------------------------------------------------------------------------------------------------------- // Set Channel Record File Prefixion // Default is "DeviceName"CH"ChannelIndex" , BCSDK_SetRecordFilePrefixion: ['int', ['int', 'int', 'string']] // ----------------------------------------------------------------------------------------------------------------- // Local Record Schedule , BCSDK_SetLocalRecordSchedule: ['int', [_T.BC_REC_SCHE_TABLE_CFG, 'int', 'int', 'int']], BCSDK_OpenLocalRecordSchedule: ['int', []], BCSDK_CloseLocalRecordSchedule: ['int', []] // ----------------------------------------------------------------------------------------------------------------- // Device should record with schedule // Default is false , BCSDK_SetDeviceAcceptLocalRecordSchedule: ['int', ['int', _T.BC_REC_SCHE_DEVICE_CFG]] // ----------------------------------------------------------------------------------------------------------------- // Recording , BCSDK_GetIsRecording: ['int', ['int', 'int', _T.pointer('bool')]] // ----------------------------------------------------------------------------------------------------------------- // Manual Record , BCSDK_GetIsManualRecordOpened: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_OpenManualRecord: ['int', ['int', 'int']], BCSDK_CloseManualRecord: ['int', ['int', 'int']], BCSDK_GetLocalRecordState: ['int', ['int', 'int', _T.pointer('int')]] // ----------------------------------------------------------------------------------------------------------------- // Live Record , BCSDK_StartLiveRecord: ['int', ['int', 'int']], BCSDK_GetLiveRecordState: ['int', ['int', 'int', _T.pointer('int')]], BCSDK_CutLiveRecord: ['int', ['int', 'int']], BCSDK_StopLiveRecord: ['int', ['int', 'int']] // ------------------------------------------------------------------------------------------------------------ // Playback Record (IOS/Android Use) , BCSDK_StartPlaybackRecord: ['int', ['int', 'int']], BCSDK_GetPlaybackRecordState: ['int', ['int', 'int', _T.pointer('int')]], BCSDK_CutPlaybackRecord: ['int', ['int', 'int']], BCSDK_StopPlaybackRecord: ['int', ['int', 'int']] /************************************************************************ * * Download interfaces * ************************************************************************/ , BCSDK_GetIsDownloading: ['int', ['int', _T.pointer('int')]], BCSDK_StartDownloadFile: ['int', ['int', 'string', 'string', 'string', 'bool', 'int', 'string', 'string']], BCSDK_StartDownloadByTime: ['int', ['int', 'int', 'string', _T.BC_TIME, _T.BC_TIME, 'bool', 'string', 'string']], BCSDK_StopDownload: ['int', ['int', 'long']] /************************************************************************ * * Remote Config interfaces * ************************************************************************/ /************************************************************************ * MARK: Device Remote Config ************************************************************************/ /* get remote config state for cmd * * @param cmd the BC_CMD_E of witch you want to check it's state * * @param state it should not be NULL * it will get back the state of the cmd * BCSDK_CONFIG_STATE_NOTREADY * */ , BCSDK_RemoteConfigState: ['int', ['int', 'int', 'int', _T.pointer('int')]], BCSDK_RemoteConfigState2: ['int', ['int', 'int', 'int', 'int', _T.pointer('int')]] /* system version * * callback with E_BC_CMD_GET_VERSION */ , BCSDK_RemoteGetVersionInfo: ['int', ['int']] /* system general * * callback with E_BC_CMD_GET_SYS, E_BC_CMD_SET_SYS, E_BC_CMD_SET_DEVICE_NAME */ , BCSDK_RemoteGetSysGeneralCfg: ['int', ['int']], BCSDK_RemoteSetSysGeneralCfg: ['int', ['int', _T.P_BC_SYS_GENERAL_CFG, 'int']], BCSDK_RemoteSetDeviceName: ['int', ['int', _T.P_BC_DEVICE_NAME_CFG]] /* autoReboot * * callback with E_BC_CMD_GET_AUTOREBOOT_CFG, E_BC_CMD_SET_AUTOREBOOT_CFG */ , BCSDK_RemoteGetAutoRebootCfg: ['int', ['int']] // callback with , BCSDK_RemoteSetAutoRebootCfg: ['int', ['int', _T.P_BC_AUTOREBOOT_CFG]] /* factory default * * callback with E_BC_CMD_RESTORE */ , BCSDK_RemoteFactoryDefault: ['int', ['int', _T.P_BC_RESTORE_CFG]] /* record cfg * * callback with E_BC_CMD_GET_ADVRECORD, E_BC_CMD_SET_ADVRECORD */ , BCSDK_RemoteGetRecordGenCfg: ['int', ['int']], BCSDK_RemoteSetRecordGenCfg: ['int', ['int', _T.P_BC_RECORD_GENERAL_CFG, 'int']] /* email * * callback with E_BC_CMD_GET_EMAIL, E_BC_CMD_SET_EMAIL, E_BC_CMD_EMAILTEST */ , BCSDK_RemoteGetMailCfg: ['int', ['int']], BCSDK_RemoteSetMailCfg: ['int', ['int', _T.P_BC_EMAIL_CFG]], BCSDK_RemoteEmailTest: ['int', ['int', _T.P_BC_EMAIL_CFG]] /* output * * callback with E_BC_CMD_GET_OUTPUT, E_BC_CMD_SET_OUTPUT */ , BCSDK_RemoteGetOutputCfg: ['int', ['int']], BCSDK_RemoteSetOutputCfg: ['int', ['int', _T.P_BC_OUTPUT_CFG]] /* HDDCfg * * callback with E_BC_CMD_GET_HDD_CFG */ , BCSDK_RemoteGetHDDCfg: ['int', ['int']] /* HDD Init * * callback with E_BC_CMD_INIT_HDD */ , BCSDK_RemoteInitHdd: ['int', ['int', _T.P_BC_HDD_INIT_CFG]], BCSDK_RemoteInitSDCard: ['int', ['int', _T.P_BC_HDD_INIT_CFG]] /* HDD Full * * callback with E_BC_CMD_GET_HDDFULL_EXPCFG, E_BC_CMD_SET_HDDFULL_EXPCFG */ , BCSDK_RemoteGetHDDFull: ['int', ['int']], BCSDK_RemoteSetHDDFull: ['int', ['int', _T.P_BC_EXCEPTION_CFG]] /* HDD Error * * callback with E_BC_CMD_GET_HDDERR_EXPCFG, E_BC_CMD_SET_HDDERR_EXPCFG */ , BCSDK_RemoteGetHDDError: ['int', ['int']], BCSDK_RemoteSetHDDError: ['int', ['int', _T.P_BC_EXCEPTION_CFG]] /* Network Disconnect * * callback with E_BC_CMD_GET_NETDISCONNECT_EXPCFG, E_BC_CMD_SET_NETDISCONNECT_EXPCFG */ , BCSDK_RemoteGetNetDisconnect: ['int', ['int']], BCSDK_RemoteSetNetDisconnect: ['int', ['int', _T.P_BC_EXCEPTION_CFG]] /* IpConflict * * callback with E_BC_CMD_GET_IPCONFLICT_EXPCFG, E_BC_CMD_SET_IPCONFLICT_EXPCFG */ , BCSDK_RemoteGetIpConflict: ['int', ['int']], BCSDK_RemoteSetIpConflict: ['int', ['int', _T.P_BC_EXCEPTION_CFG]] /* network local * * callback with E_BC_CMD_GET_LOCAL, E_BC_CMD_SET_LOCAL */ , BCSDK_RemoteGetNetworkCfg: ['int', ['int']], BCSDK_RemoteSetNetworkCfg: ['int', ['int', _T.P_BC_LOCAL_CFG]] /* normalPort * * callback with E_BC_CMD_GET_NORMAL_PORT, E_BC_CMD_SET_NORMAL_PORT */ , BCSDK_RemoteGetNetNormalPort: ['int', ['int']], BCSDK_RemoteSetNetNormalPort: ['int', ['int', _T.P_BC_NET_NORMAL_PORT]] /* advanced Port * * callback with E_BC_CMD_GET_ADVANCED_PORTS, E_BC_CMD_SET_ADVANCED_PORTS */ , BCSDK_RemoteGetNetAdvancedPort: ['int', ['int']], BCSDK_RemoteSetNetAdvancedPort: ['int', ['int', _T.P_BC_NET_ADVANCED_PORT]] /* upnpCfg * * callback with E_BC_CMD_GET_UPNPSTATE, E_BC_CMD_SET_UPNPSTATE */ , BCSDK_RemoteGetUpnpCfg: ['int', ['int']], BCSDK_RemoteSetUpnpCfg: ['int', ['int', _T.P_BC_UPNP_CFG]] /* uid * * callback with E_BC_CMD_GET_UID */ , BCSDK_RemoteGetUidInfo: ['int', ['int']] /* p2p cfg * * callback with E_BC_CMD_GET_PTOP_CFG, E_BC_CMD_SET_PTOP_CFG */ , BCSDK_RemoteGetP2PCfg: ['int', ['int']], BCSDK_RemoteSetP2PCfg: ['int', ['int', _T.P_BC_P2P_CFG]] /* RF Sensor * * callback with E_BC_CMD_GET_RFSENSOR, E_BC_CMD_SET_RFSENSOR */ , BCSDK_RemoteGetRFSensor: ['int', ['int']], BCSDK_RemoteSetOutArm: ['int', ['int']], BCSDK_RemoteSetHomeArm: ['int', ['int']], BCSDK_RemoteSetSleepArm: ['int', ['int']], BCSDK_RemoteSetDisarm: ['int', ['int']] /* Alarm In * * callback with E_BC_CMD_GET_ALARMINCFG, E_BC_CMD_SET_ALARMINCFG */ , BCSDK_RemoteGetAlarmIn: ['int', ['int', 'int']], BCSDK_RemoteSetAlarmIn: ['int', ['int', _T.P_BC_ALARM_IN_CFG]] /* Alarm Out * * callback with E_BC_CMD_GET_ALARMOUTCFG, E_BC_CMD_SET_ALARMOUTCFG */ , BCSDK_RemoteGetAlarmOut: ['int', ['int', 'int']], BCSDK_RemoteSetAlarmOut: ['int', ['int', _T.P_BC_ALARM_OUT_CFG]] /* RF Alarm Cfg * * callback with E_BC_CMD_GET_RF_CFG, E_BC_CMD_SET_RF_CFG, E_BC_CMD_SET_RF_ALARM_STATUS */ , BCSDK_RemoteGetRfAlarmCfg: ['int', ['int', 'int']], BCSDK_RemoteSetRfAlarmCfg: ['int', ['int', _T.P_BC_RF_ALARM_CFG, 'int']], BCSDK_RemoteSetRfAlarmStatus: ['int', ['int', _T.P_BC_RF_ALARM_STATUS]] /* DST * * callback with E_BC_CMD_GET_DST, E_BC_CMD_SET_DST */ , BCSDK_RemoteGetDst: ['int', ['int']], BCSDK_RemoteSetDst: ['int', ['int', _T.P_BC_DST_CFG, 'int']] /* DDNS * * callback with E_BC_CMD_GET_DDNSCFG, E_BC_CMD_SET_DDNSCFG */ , BCSDK_RemoteGetDdns: ['int', ['int']], BCSDK_RemoteSetDdns: ['int', ['int', _T.P_BC_DDNS_CFG]] /* NTP * * callback with E_BC_CMD_GET_NTPCFG, E_BC_CMD_SET_NTPCFG */ , BCSDK_RemoteGetNtp: ['int', ['int']], BCSDK_RemoteSetNtp: ['int', ['int', _T.P_BC_NTP_CFG]] /* PPPOE * * callback with E_BC_CMD_GET_PPPOECFG, E_BC_CMD_SET_PPPOECFG */ , BCSDK_RemoteGetPppoe: ['int', ['int']], BCSDK_RemoteSetPppoe: ['int', ['int', _T.P_BC_PPPOE_CFG]] /* Online Update * * callback with E_BC_CMD_ONLINE_UPDATE */ , BCSDK_RemoteOnlineUpate: ['int', ['int', _T.P_BC_ONLINE_UPDATE]] /* online updtate status * * callback with E_BC_CMD_GET_ONLINE_UPDATE_STATUS */ , BCSDK_RemoteGetOnlineUpdateStatus: ['int', ['int']] /* Auto Update * * callback with E_BC_CMD_GET_AUTO_UPDATE, E_BC_CMD_SET_AUTO_UPDATE */ , BCSDK_RemoteGetAutoUpdateState: ['int', ['int']], BCSDK_RemoteSetAutoUpdateState: ['int', ['int', _T.P_BC_AUTO_UPDATE]] /* Online New Firmware * * callback with E_BC_CMD_GET_ONLINE_NEW_FIRMWARE */ , BCSDK_RemoteGetOnlineNewFwInfo: ['int', ['int']] /* Performances * * callback with E_BC_CMD_GET_PERFORMANCE */ , BCSDK_RemoteGetPerformances: ['int', ['int']] /* Wifi * * callback with E_BC_CMD_GET_WIFI_SIGNAL, E_BC_CMD_GET_WIFI_INFO, * E_BC_CMD_SET_WIFI_INFO, E_BC_CMD_WIFI_TEST */ , BCSDK_RemoteGetWifiSignal: ['int', ['int']], BCSDK_RemoteGetWifiCfg: ['int', ['int']], BCSDK_RemoteSetWifiCfg: ['int', ['int', _T.P_BC_WIFI_CFG]], BCSDK_RemoteWifiTest: ['int', ['int', _T.P_BC_WIFI_CFG]] /* 3g 4g info * * callback with E_BC_CMD_GET_3G_4G_INFO */ , BCSDK_RemoteGet3g4gInfo: ['int', ['int']] /* SIM Module Info * * callback with E_BC_CMD_GET_SIM_MODULE_INFO, E_BC_CMD_SET_SIM_MODULE_INFO */ , BCSDK_RemoteGetSimModuleInfo: ['int', ['int']], BCSDK_RemoteSetSimModuleInfo: ['int', ['int', _T.P_BC_SIM_MODULE_INFO]] /* Cloud * * callback with E_BC_CMD_GET_CLOUD_INFO, E_BC_CMD_BIND_CLOUD, E_BC_CMD_GET_CLOUD_CFG, E_BC_CMD_SET_CLOUD_CFG */ , BCSDK_RemoteGetCloudInfo: ['int', ['int']], BCSDK_RemoteBindCloud: ['int', ['int', _T.P_BC_BIND_CLOUD]], BCSDK_RemoteGetCloudCfg: ['int', ['int']], BCSDK_RemoteSetCloudCfg: ['int', ['int', _T.P_BC_CLOUD_CFG]], BCSDK_RemoteGetSignatureLoginCfg: ['int', ['int']], BCSDK_RemoteSetSignatureLoginCfg: ['int', ['int', _T.P_BC_SIGNATURE_LOGIN_CFG]] /* sync utc time * * callback with E_BC_CMD_SYNC_UTC_TIME */ , BCSDK_RemoteSyncUtcTime: ['int', ['int', _T.P_BC_UTC_TIME]] /* NAS * * callback with E_BC_CMD_NAS_GET_BIND_INFO, E_BC_CMD_NAS_BIND, E_BC_CMD_NAS_UNBIND */ , BCSDK_RemoteNasGetBindInfo: ['int', ['int']], BCSDK_RemoteNasBind: ['int', ['int', _T.P_BC_NAS_BIND]], BCSDK_RemoteNasUnbind: ['int', ['int', _T.P_BC_NAS_BIND, 'int']] /* Scan ap * * callback with E_BC_CMD_GET_SCAN_AP */ , BCSDK_RemoteGetScanAp: ['int', ['int']] /* record file days * * callback with E_BC_CMD_GET_RECFILEDATE */ , BCSDK_RemoteGetRecFileDaysByChannel: ['int', ['int', _T.P_BC_RECORD_FILE_DAYS_BY_CHN]] /* user config * * callback with E_BC_CMD_GET_USERCFG, E_BC_CMD_SET_USERCFG */ , BCSDK_RemoteGetUserCfg: ['int', ['int']], BCSDK_RemoteSetUserCfg: ['int', ['int', _T.P_BC_USER_CFG]] /* set user ability * * callback with E_BC_CMD_SET_USER_ALL_ABILITY */ , BCSDK_RemoteInitNewUserAiblity: ['int', ['int', _T.P_BC_USER_FOR_ABILITY]] /* online user config * * callback with E_BC_CMD_GET_USER_ONLINE, E_BC_CMD_SET_USER_ONLINE */ , BCSDK_RemoteGetOnlineUserCfg: ['int', ['int']], BCSDK_RemoteSetOnlineUserCfg: ['int', ['int', _T.P_BC_USER_ONLINE_CFG]] /* force user password when first login * * callback with E_BC_CMD_FORCE_PASSWORD */ , BCSDK_RemoteForceUserPassword: ['int', ['int', _T.P_BC_FORCE_PWD]] /* pwd state * * callback with E_BC_CMD_GET_BOOTPWD_STATE, E_BC_CMD_SET_BOOTPWD_STATE */ , BCSDK_RemoteGetBootPwdState: ['int', ['int']], BCSDK_RemoteSetBootPwdState: ['int', ['int', _T.P_BC_BOOT_PWD_STATE]] /* upgrade firmware * * callback with E_BC_CMD_UPGRADE, E_BC_CMD_UPGRADE_PROGRESS */ , BCSDK_RemoteUpgradeFirmware: ['int', ['int', _T.P_BC_UPGRADE_FILE_INFO]] /* Ftp Cfg * * callback with E_BC_CMD_GET_FTPCFG, E_BC_CMD_SET_FTPCFG, E_BC_CMD_FTP_TEST */ , BCSDK_RemoteGetFtpCfg: ['int', ['int']], BCSDK_RemoteSetFtpCfg: ['int', ['int', _T.P_BC_FTP_CFG]], BCSDK_RemoteSetFtpTest: ['int', ['int', _T.P_BC_FTP_CFG]] /* I Frame Support */ , BCSDK_SetDeviceIFramePreview: ['int', ['int', 'bool']], BCSDK_SetDeviceIFrameReplay: ['int', ['int', 'bool']] /* Reboot * * callback with E_BC_CMD_REBOOT */ , BCSDK_RemoteReboot: ['int', ['int']] /* Device Sleep * * callback with E_BC_CMD_DEVICE_SLEEP */ , BCSDK_RemoteDeviceSleep: ['int', ['int']] /* export/import configuration file * * callback with E_BC_CMD_EXPORT, E_BC_CMD_EXPORT_PROGRESS, E_BC_CMD_IMPORT, E_BC_CMD_IMPORT_PROGRESS */ , BCSDK_RemoteExportConfig: ['int', ['int', _T.P_BC_CONFIG_FILE_INFO]], BCSDK_RemoteImportConfig: ['int', ['int', _T.P_BC_CONFIG_FILE_INFO]] /* get log file * * callback with E_BC_CMD_GETLOG */ , BCSDK_RemoteGetLogFile: ['int', ['int', _T.P_BC_CONFIG_FILE_INFO]] /* start alarm report * * callback with E_BC_CMD_START_ALARM_REPORT, E_BC_CMD_STOP_ALARM_REPORT */ , BCSDK_RemoteStartAlarmReport: ['int', ['int']], BCSDK_RemoteStopAlarmReport: ['int', ['int']] /* push open * * callback with E_BC_CMD_PUSH_ADD */ , BCSDK_RemotePushOpen: ['int', ['int', _T.P_BC_PUSH_INFO]] /*, BCSDK_RemotePushClose: (handle: number, BC_PUSH_INFO *info);*/ /* rtmp operation * * callback with E_BC_CMD_RTMP_START, E_BC_CMD_RTMP_STOP */ , BCSDK_RemoteRtmpStart: ['int', ['int', _T.P_BC_RTMP_OPT]], BCSDK_RemoteRtmpStop: ['int', ['int', _T.P_BC_RTMP_OPT]] /* covers get * * callback with E_BC_CMD_COVER_PREVIEW */ /*, BCSDK_RemoteGetCovers: ['int', ['int', _T.P_BC_GET_FILE_COVERS_CFG]]*/ /* files Delete * * callback with E_BC_CMD_REC_FILE_DEL */ , BCSDK_DeleteRecFiles: ['int', ['int', _T.P_BC_DEL_REC_FILES]] /* record enable * * callback with E_BC_CMD_GET_RECORD_ENABLE, E_BC_CMD_SET_RECORD_ENABLE */ , BCSDK_RemoteGetRecordEnable: ['int', ['int']], BCSDK_RemoteSetRecordEnable: ['int', ['int', _T.P_BC_ALARM_OUT_ENABLE_CFG]] /* Ftp enable * * callback with E_BC_CMD_GET_FTP_ENABLE, E_BC_CMD_SET_FTP_ENABLE */ , BCSDK_RemoteGetFtpEnable: ['int', ['int']], BCSDK_RemoteSetFtpEnable: ['int', ['int', _T.P_BC_ALARM_OUT_ENABLE_CFG]] /* Email enable * * callback with E_BC_CMD_GET_EMAIL_ENABLE, E_BC_CMD_SET_EMAIL_ENABLE */ , BCSDK_RemoteGetEmailEnable: ['int', ['int']], BCSDK_RemoteSetEmailEnable: ['int', ['int', _T.P_BC_ALARM_OUT_ENABLE_CFG]] /* push enable * * callback with E_BC_CMD_GET_PUSH_ENABLE, E_BC_CMD_SET_PUSH_ENABLE */ , BCSDK_RemoteGetPushEnable: ['int', ['int']], BCSDK_RemoteSetPushEnable: ['int', ['int', _T.P_BC_ALARM_OUT_ENABLE_CFG]] /* buzzer enable * * callback with E_BC_CMD_GET_BUZZER_ENABLE, E_BC_CMD_SET_BUZZER_ENABLE */ , BCSDK_RemoteGetBuzzerEnable: ['int', ['int']], BCSDK_RemoteSetBuzzerEnable: ['int', ['int', _T.P_BC_ALARM_OUT_ENABLE_CFG]] /************************************************************************ * MARK: Channel Remote Config ************************************************************************/ /* encode * * callback with E_BC_CMD_GET_COMPRESS, E_BC_CMD_SET_COMPRESS */ , BCSDK_RemoteGetEncCfg: ['int', ['int', 'int']], BCSDK_RemoteSetEncCfg: ['int', ['int', 'int', _T.P_BC_CHN_ENC_INFO]] /* osd * * callback with E_BC_CMD_GET_OSD, E_BC_CMD_SET_OSD */ , BCSDK_RemoteGetOsdCfg: ['int', ['int', 'int']], BCSDK_RemoteSetOsdCfg: ['int', ['int', 'int', _T.P_BC_OSD_CFG, 'int']] /* cameraCfg * * callback with E_BC_CMD_GET_CAMERA_CFG, E_BC_CMD_SET_CAMERA_CFG */ , BCSDK_RemoteGetCameraCfg: ['int', ['int', 'int']], BCSDK_RemoteSetCameraCfg: ['int', ['int', 'int', _T.P_BC_CAMERA_CFG]] /* Shelter * * callback with E_BC_CMD_GET_COVER, E_BC_CMD_SET_COVER */ , BCSDK_RemoteGetShelter: ['int', ['int', 'int']], BCSDK_RemoteSetShelter: ['int', ['int', 'int', _T.P_BC_COVER_CFG]] /* record schedule * * callback with E_BC_CMD_GET_RECORDSCHED, E_BC_CMD_SET_RECORDSCHED */ , BCSDK_RemoteGetRecordSchedule: ['int', ['int', 'int']], BCSDK_RemoteSetRecordSchedule: ['int', ['int', 'int', _T.P_BC_RECORD_SCHEDULE_CFG]] /* PTZ Config * * callback with E_BC_CMD_GET_PTZCFG, E_BC_CMD_SET_PTZCFG */ , BCSDK_RemoteGetPtzCfg: ['int', ['int', 'int']], BCSDK_RemoteSetPtzCfg: ['int', ['int', 'int', _T.P_BC_PTZ_DECODER]] /* Motion Config * * callback with E_BC_CMD_GET_MOTION, E_BC_CMD_SET_MOTION */ , BCSDK_RemoteGetMotionCfg: ['int', ['int', 'int']], BCSDK_RemoteSetMotionCfg: ['int', ['int', 'int', _T.P_BC_MOTION_CFG, 'int']] /* AI Config * * callback with E_BC_CMD_GET_AI_CFG, E_BC_CMD_SET_AI_CFG */ , BCSDK_RemoteGetAiCfg: ['int', ['int', 'int']], BCSDK_RemoteSetAiCfg: ['int', ['int', 'int', _T.P_BC_AI_CFG, 'int']] /* Video Loss * * callback with E_BC_CMD_GET_VILOST, E_BC_CMD_SET_VILOST */ , BCSDK_RemoteGetVideoLoss: ['int', ['int', 'int']], BCSDK_RemoteSetVideoLoss: ['int', ['int', 'int', _T.P_BC_VILOST_CFG]] /* ptz preset * * callback with E_BC_CMD_GET_PRESET, E_BC_CMD_SET_PRESET, E_BC_CMD_GOTO_PRESET */ , BCSDK_RemoteGetPresets: ['int', ['int', 'int']], BCSDK_RemoteSetPresets: ['int', ['int', 'int', _T.P_BC_PTZ_PRESETS, 'int']], BCSDK_RemotePresetInvoke: ['int', ['int', 'int', 'int']] /* ptz guard * * callback with E_BC_CMD_GET_GUARD, E_BC_CMD_SET_GUARD */ , BCSDK_RemoteGetGuard: ['int', ['int', 'int']], BCSDK_RemoteSetGuard: ['int', ['int', 'int', _T.P_BC_GUARD_INFO, 'int']] /* ptz cruise * * callback with E_BC_CMD_GET_CRUISE, E_BC_CMD_SET_CRUISE */ , BCSDK_RemoteGetCruises: ['int', ['int', 'int']], BCSDK_RemoteSetCruise: ['int', ['int', 'int', _T.P_BC_PTZ_CRUISES]], BCSDK_RemoteCruiseInvoke: ['int', ['int', 'int', 'int']], BCSDK_RemoteCruiseStop: ['int', ['int', 'int', 'int']] /* isp * * callback with E_BC_CMD_GET_CAMERA, E_BC_CMD_GET_DEFAULT_CAMERA, E_BC_CMD_SET_CAMERA, E_BC_CMD_SET_ISP_DAY_NIGHT_MODE */ , BCSDK_RemoteGetIspCfg: ['int', ['int', 'int']], BCSDK_RemoteGetDefaultIspCfg: ['int', ['int', 'int']], BCSDK_RemoteSetIspCfg: ['int', ['int', 'int', _T.P_BC_ISP_CFG, 'int']], BCSDK_RemoteSetIspDayNightMode: ['int', ['int', 'int', _T.P_BC_DAY_NIGHT_MODE_CFG]] /* LED * * callback with E_BC_CMD_GET_LED_STATE, E_BC_CMD_SET_LED_STATE */ , BCSDK_RemoteGetLedState: ['int', ['int', 'int']], BCSDK_RemoteSetLedState: ['int', ['int', 'int', _T.P_BC_LED_LIGHT_STATE, 'int']] /* Floodlight * * callback with E_BC_CMD_FLOODLIGHT_MANUAL, E_BC_CMD_GET_FLOODLIGHT_TASK, E_BC_CMD_SET_FLOODLIGHT_TASK */ , BCSDK_RemoteFloodlightManual: ['int', ['int', 'int', _T.P_BC_FLOODLIGHT_MANUAL, 'int']], BCSDK_RemoteGetFloodlightTask: ['int', ['int', 'int']], BCSDK_RemoteSetFloodlightTask: ['int', ['int', 'int', _T.P_BC_FLOODLIGHT_TASK, 'int']] /* day night threshold * * callback with NET_GET_DAY_NIGHT_THRESHOLD_V20, NET_SET_DAY_NIGHT_THRESHOLD_V20 */ , BCSDK_RemoteGetDayNightThreshold: ['int', ['int', 'int']], BCSDK_RemoteSetDayNightThreshold: ['int', ['int', 'int', _T.P_BC_DAY_NIGHT_THRESHOLD_CFG, 'int']] /* Ftp Task * * callback with E_BC_CMD_GET_FTPTASK, E_BC_CMD_SET_FTPTASK */ , BCSDK_RemoteGetFtpTask: ['int', ['int', 'int']], BCSDK_RemoteSetFtpTask: ['int', ['int', 'int', _T.P_BC_FTP_TASK]] /* Email Task * * callback with E_BC_CMD_GET_EMAIL_TASK, E_BC_CMD_SET_EMAIL_TASK */ , BCSDK_RemoteGetEmailTask: ['int', ['int', 'int']], BCSDK_RemoteSetEmailTask: ['int', ['int', 'int', _T.P_BC_EMAIL_TASK]] /* push task * * callback with E_BC_CMD_GET_PUSH_TASK, E_BC_CMD_SET_PUSH_TASK */ , BCSDK_RemoteGetPushTask: ['int', ['int', 'int']], BCSDK_RemoteSetPushTask: ['int', ['int', 'int', _T.P_BC_PUSH_TASK]] /* audio task * * callback with E_BC_CMD_GET_AUDIO_TASK, E_BC_CMD_SET_AUDIO_TASK */ , BCSDK_RemoteGetAudioTask: ['int', ['int', 'int']], BCSDK_RemoteSetAudioTask: ['int', ['int', 'int', _T.P_BC_AUDIO_TASK]] /* buzzer task * * callback with E_BC_CMD_GET_BUZZER_TASK, E_BC_CMD_SET_BUZZER_TASK */ , BCSDK_RemoteGetBuzzerTask: ['int', ['int', 'int']], BCSDK_RemoteSetBuzzerTask: ['int', ['int', 'int', _T.P_BC_BUZZER_TASK]] /* Snap * * callback with E_BC_CMD_SNAP */ , BCSDK_RemoteSnap: ['int', ['int', 'int', _T.P_BC_SNAP_INFO]] /* Config Stream */ , BCSDK_GetIsConfigStreamOpen: ['int', ['int', 'int', _T.pointer('bool')]], BCSDK_ConfigStreamOpen: ['int', ['int', 'int', exports.renderCallbackFunc, _T.pointer('void')]], BCSDK_ConfigStreamClose: ['int', ['int', 'int']] /* Auto Focus * * callback with E_BC_CMD_GET_AUTO_FOCUS, E_BC_CMD_SET_AUTO_FOCUS */ , BCSDK_RemoteGetAutoFocus: ['int', ['int', 'int']], BCSDK_RemoteSetAutoFocus: ['int', ['int', 'int', _T.P_BC_PTZ_AUTO_FOCUS]] /* Zoom Focus * * callback with E_BC_CMD_GET_ZOOM_FOCUS_INFO, E_BC_CMD_START_ZOOM_FOCUS */ , BCSDK_RemoteGetZoomFocusInfo: ['int', ['int', 'int']], BCSDK_RemoteStartZoomFocus: ['int', ['int', 'int', _T.P_BC_START_ZOOM_FOCUS]] /* pt power on self test * * callback with E_BC_CMD_GET_PT_SELF_TEST_CFG, E_BC_CMD_SET_PT_SELF_TEST_CFG */ /*int _BCSDK_ BCSDK_RemoteGetPtSelfTestCfg(H_BC_DEVICE hDevice, int channel); int _BCSDK_ BCSDK_RemoteSetPtSelfTestCfg(H_BC_DEVICE hDevice, int channel, BC_PT_SELF_TEST_CFG *cfg); int _BCSDK_ BCSDK_RemoteStartPtSelfTest(H_BC_DEVICE hDevice, int channel); */ /* Crop Cfg * * callback with E_BC_CMD_GET_CROP_CFG, E_BC_CMD_SET_CROP_CFG */ , BCSDK_RemoteGetCropCfg: ['int', ['int', 'int']], BCSDK_RemoteSetCropCfg: ['int', ['int', 'int', _T.P_BC_CROP_CFG]] /* Crop Snap * * callback with E_BC_CMD_CROP_SNAP */ , BCSDK_RemoteCropSnap: ['int', ['int', 'int', _T.P_BC_CROP_SNAP_INFO]] /* Delete Online Device * * callback with E_BC_CMD_BASE_DELETE_ONLINE_DEVICE */ // int _BCSDK_ BCSDK_RemoteBaseDeleteOnlineDevice(H_BC_DEVICE hDevice, BC_BASE_ONLINE_DEVICE_INFO *onlineDevInfo); /* base device's RF Cfg * * callback with E_BC_CMD_BASE_GET_RF_CFG, E_BC_CMD_BASE_SET_RF_CFG */ // int _BCSDK_ BCSDK_RemoteGetBaseRfAlarmCfg(H_BC_DEVICE hDevice, int channel, BC_BASE_RF_ALARM_REQUEST *request); // int _BCSDK_ BCSDK_RemoteSetBaseRfAlarmCfg(H_BC_DEVICE hDevice, int channel, BC_BASE_RF_ALARM_CFG *rfAlarmCfg); // int _BCSDK_ BCSDK_RemoteSetBaseRfAlarmStatus(H_BC_DEVICE hDevice, int channel, BC_RF_ALARM_STATUS *rfAlarmStatus); /* base device's WIFI QRCode * * callback with E_BC_CMD_BASE_GET_WIFI_QRCODE, E_BC_CMD_BASE_SET_WIFI_QRCODE */ // int _BCSDK_ BCSDK_RemoteGetBaseWifiQRCode(H_BC_DEVICE hDevice); // int _BCSDK_ BCSDK_RemoteSetBaseWifiQRCode(H_BC_DEVICE hDevice, BC_BASE_WIFI_QRCODE *qrCodeCfg); /* battery info * * callback with E_BC_CMD_GET_BATTERY_INFO */ , BCSDK_RemoteGetBatteryInfo: ['int', ['int', 'int']] /* battery analysis * * callback with E_BC_CMD_GET_BATTERY_ANALYSIS */ , BCSDK_RemoteGetBatteryAnalysis: ['int', ['int', 'int']] /* ringtone * * callback with E_BC_CMD_GET_RINGTONE_FILE_INFO * E_BC_CMD_GET_RINGTONE_CFG * E_BC_CMD_SET_RINGTONE_CFG * E_BC_CMD_MANUAL_RING_DOWN * E_BC_CMD_MUTE_ALARM_AUDIO * E_BC_CMD_SAVE_RINGTONE * E_BC_CMD_IMPORT_RINGTONE * E_BC_CMD_IMPORT_RINGTONE_PROGRESS * E_BC_CMD_GET_RINGTONE_ABILITY */ , BCSDK_RemoteGetRingtoneFileInfo: ['int', ['int', 'int']], BCSDK_RemoteGetRingtoneCfg: ['int', ['int', 'int']], BCSDK_RemoteSetRingtoneCfg: ['int', ['int', 'int', _T.P_BC_RINGTONE_CFG]], BCSDK_RemoteManualRingDown: ['int', ['int', 'int', _T.P_BC_MANUAL_RING_DOWN]], BCSDK_RemoteMuteAlarmAudio: ['int', ['int', 'int', _T.P_BC_MUTE_ALARM_AUDIO]], BCSDK_RemoteSaveRingtone: ['int', ['int', 'int']], BCSDK_RemoteImportRingtone: ['int', ['int', 'int', _T.P_BC_RINGTONE_FILE_INFO]], BCSDK_RemoteGetRingtoneAbility: ['int', ['int', 'int']] /* version info * * callback with E_BC_CMD_GET_CHN_VERSION */ , BCSDK_RemoteGetChannelVersionInfo: ['int', ['int', 'int']] /* ai detect config * * callback with E_BC_CMD_GET_DEF_AI_DETECT_CFG_V20, E_BC_CMD_GET_AI_DETECT_CFG_V20, E_BC_CMD_SET_AI_DETECT_CFG_V20 */ , BCSDK_RemoteGetDefaultAIDetectCfg: ['int', ['int', 'int', 'int', 'int']], BCSDK_RemoteGetAIDetectCfg: ['int', ['int', 'int', 'int', 'int']], BCSDK_RemoteSetAIDetectCfg: ['int', ['int', 'int', _T.P_BC_AI_DETECT_CFG, 'int']] /* alarm areas config * * callback with E_BC_CMD_SET_ALARM_ARAES_CFG_V20 */ , BCSDK_RemoteSetAlarmAreas: ['int', ['int', 'int', _T.P_BC_ALARM_AREAS_CFG]] /************************************************************************ * * Search interfaces * ************************************************************************/ , BCSDK_AddSearchCallback: ['int', [exports.deviceFoundCallback, _T.pointer('void')]], BCSDK_RemoveSearchCallback: ['int', [exports.deviceFoundCallback, _T.pointer('void')]] /* start device search loop with loop time * * @param time [2,10] * * @return E_NONE, success * E_ILLEGAL, time is out of [2,10] */ , BCSDK_StartDeviceSearchLoop: ['int', ['int']] /* stop device search loop * */ , BCSDK_StopDeviceSearchLoop: ['int', []] /* start device search once immediately * * @return E_NONE, success * E_UND, failed */ , BCSDK_DeviceSearchOnce: ['int', []] /* start Song P2P device search once immediately * * @return E_NONE, success * E_UND, failed */ , BCSDK_SongP2PDeviceSearchOnce: ['int', []] /************************************************************************ * * Tools interfaces * ************************************************************************/ , BCSDK_GetTotalBitrates: ['int', [_T.pointer(ffi.types.longlong)]], BCSDK_ReInitP2p: ['void', []], BCSDK_GetP2PType: ['int', ['string', _T.pointer('int')]], BCSDK_GetSongP2PType: ['int', ['string', _T.pointer('int')]], BCSDK_GetSongDeviceInfo: ['int', ['string', _T.pointer('int')]], BCSDK_SongP2PGetDebug: ['int', [_T.P_BC_P2P_DEBUG_INFO]], BCSDK_XCUID2SongUID: ['int', ['string', _T.P_BC_P2P_UID_INFO]], BCSDK_SongP2PGetDetail: ['int', [_T.P_BC_P2P_DETAIL_INFO]], BCSDK_GetDiagnoseLogs: ['int', [_T.P_BC_DIAGNOSE_LOGS_LIST]], BCSDK_Encrypt: ['int', [_T.P_BC_CRYPT_BUF]], BCSDK_Decrypt: ['int', [_T.P_BC_CRYPT_BUF]], BCSDK_GetSpeakerVolume: ['int', [_T.pointer('int')]], BCSDK_SetSpeakerVolume: ['int', ['int']], BCSDK_GetDiskFreeSize: ['int', ['string', _T.pointer('ulonglong')]], BCSDK_GetHasWritePermission: ['int', ['string', _T.pointer('bool')]], BCSDK_SaveYUVToDisk: ['int', ['string', 'int', 'int', 'int', _T.P_RENDER_VIDEO_PLANE_DESC, _T.P_RENDER_VIDEO_PLANE_DESC, _T.P_RENDER_VIDEO_PLANE_DESC]] }); class NativeDelegate { constructor() { /**************************************************************** * * Methods for Device * **