package com.rn_bxl;

import java.util.Collections;
import java.util.List;
import androidx.annotation.NonNull;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.facebook.react.bridge.JavaScriptModule;

import java.util.ArrayList;

public class RNBixolonPackage implements ReactPackage {
  @NonNull
  @Override
    public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
      List<NativeModule> modules = new ArrayList<>();
      modules.add(new MPosControllerConfigProxy(reactContext));
      modules.add(new MPosControllerLabelPrinterProxy(reactContext));
      modules.add(new MPosControllerPrinterProxy(reactContext));
      modules.add(new MPosLookupProxy(reactContext));
      modules.add(new MPosControllerBCDProxy(reactContext));
      modules.add(new MPosControllerDallasKeyProxy(reactContext));
      modules.add(new MPosControllerHIDProxy(reactContext));
      modules.add(new MPosControllerMSRProxy(reactContext));
      modules.add(new MPosControllerNFCProxy(reactContext));
      modules.add(new MPosControllerRFIDProxy(reactContext));
      modules.add(new MPosControllerScaleProxy(reactContext));
      modules.add(new MPosControllerScannerProxy(reactContext));
      modules.add(new MPosControllerUSBToSerialProxy(reactContext));
      modules.add(new MPosUDPSettingProxy(reactContext));
      return modules;
    }

    // Deprecated from RN 0.47
    public List<Class<? extends JavaScriptModule>> createJSModules() {
      return Collections.emptyList();
    }
    @NonNull
    @Override
    public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
      return Collections.emptyList();
    }

}