package co.orders.landi import com.facebook.react.bridge.* import com.sdksuite.omnidriver.api.OmniDriverAPI import com.sdksuite.omnidriver.api.Align import android.util.Base64 class OCOLandiModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { private val omniDriverAPI = OmniDriverAPI() override fun getName(): String { return "OCOLandiModule" } @ReactMethod fun addBarCode(codeWidth: Int, codeHeight: Int, barcode: String, align: Int, position: Int, promise: Promise) { try { omniDriverAPI.addBarCode(codeWidth, codeHeight, barcode, align, position) promise.resolve(null) } catch (e: Exception) { promise.reject("ADD_BARCODE_ERROR", e) } } @ReactMethod fun addQrCode(expectedHeight: Int, ecLevel: Int, qrcode: String, align: Int, position: Int, promise: Promise) { try { omniDriverAPI.addQrCode(expectedHeight, ecLevel, qrcode, align, position) promise.resolve(null) } catch (e: Exception) { promise.reject("ADD_QRCODE_ERROR", e) } } @ReactMethod fun addImage(base64Image: String, align: Int, position: Int, promise: Promise) { try { val byteArray = Base64.decode(base64Image, Base64.DEFAULT) omniDriverAPI.addImage(byteArray, align, position) promise.resolve(null) } catch (e: Exception) { promise.reject("ADD_IMAGE_ERROR", e) } } @ReactMethod fun cutPaper(promise: Promise) { try { omniDriverAPI.cutPaper() promise.resolve(null) } catch (e: Exception) { promise.reject("CUT_PAPER_ERROR", e) } } }