package com.dynamsoft.reactnativelib import com.dynamsoft.reactnativelib.cvr.CaptureVisionRouterModuleImpl import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod import com.facebook.react.bridge.ReadableMap class CVRModule(reactApplicationContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactApplicationContext) { val impl = CaptureVisionRouterModuleImpl(reactApplicationContext) override fun getName(): String = impl.getName() @ReactMethod(isBlockingSynchronousMethod = true) fun createInstance(): Boolean { return impl.createInstance() } @ReactMethod(isBlockingSynchronousMethod = true) fun destroyInstance(): Boolean { return impl.destroyInstance() } @ReactMethod(isBlockingSynchronousMethod = true) fun install(): Boolean { return impl.install() } @ReactMethod fun startCapturing(template: String, promise: Promise) { impl.startCapturing(template, promise) } @ReactMethod fun stopCapturing(promise: Promise) { impl.stopCapturing(promise) } @ReactMethod fun setInput(isaId: String) { impl.setInput(isaId) } @ReactMethod fun continueCRR() { impl.continueCRR() } @ReactMethod fun removeAllResultListeners() { impl.removeAllResultListeners() } @ReactMethod fun addFilter(filterId: String) { impl.addFilter(filterId) } @ReactMethod fun removeFilter(filterId: String) { impl.removeFilter(filterId) } @ReactMethod fun resetSettings(promise: Promise) { impl.resetSettings(promise) } @ReactMethod fun getSimplifiedSettings(templateName: String, promise: Promise) { impl.getSimplifiedSettings(templateName, promise) } @ReactMethod fun updateSettings(settings: ReadableMap, templateName: String, promise: Promise) { impl.updateSettings(settings, templateName, promise) } @ReactMethod fun initSettings(content: String, promise: Promise) { impl.initSettings(content, promise) } @ReactMethod fun initSettingsFromFile(file: String, promise: Promise) { impl.initSettingsFromFile(file, promise) } @ReactMethod fun outputSettings(templateName: String, includeDefaultValues: Boolean, promise: Promise) { impl.outputSettings(templateName, includeDefaultValues, promise) } @ReactMethod fun outputSettingsToFile(templateName: String, file: String, includeDefaultValues: Boolean, promise: Promise) { impl.outputSettingsToFile(templateName, file, includeDefaultValues, promise) } @ReactMethod fun addListener(type: String) { impl.addListener(type) } @ReactMethod fun removeListeners(count: Double) { impl.removeListeners(count.toInt()) } @ReactMethod fun addResultReceiver(type: String?) { //This is for IOS } @ReactMethod fun removeResultReceiver(type: String?) { impl.removeListener(type) } @ReactMethod fun switchCapturingTemplate(template: String, promise: Promise) { impl.switchCapturingTemplate(template, promise) } @ReactMethod fun clearDLModelBuffers() { impl.clearDLModelBuffers() } @ReactMethod fun setGlobalIntraOpNumThreads(intraOpNumThreads: Int) { impl.setGlobalIntraOpNumThreads(intraOpNumThreads) } }