///
/// OneOnLoad.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///

#ifndef BUILDING_ONE_WITH_GENERATED_CMAKE_PROJECT
#error OneOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
#endif

#include "OneOnLoad.hpp"

#include <jni.h>
#include <fbjni/fbjni.h>
#include <NitroModules/HybridObjectRegistry.hpp>

#include "JHybridOneAdaptiveSpec.hpp"
#include "JFunc_void.hpp"
#include "JFunc_void_SizeClass.hpp"
#include "JFunc_void_std__optional_HingeState_.hpp"
#include "JHybridOneAppIconSpec.hpp"
#include "JHybridOneAppInfoSpec.hpp"
#include "JHybridOneAppleAuthSpec.hpp"
#include "JHybridOneAudioSpec.hpp"
#include "JFunc_void_AudioInterruptionEvent.hpp"
#include "JFunc_void_AudioRemoteCommandEvent.hpp"
#include "JHybridOneBackgroundTasksSpec.hpp"
#include "JFunc_void_BackgroundTaskInvocation.hpp"
#include "JFunc_void_std__string.hpp"
#include "JHybridOneBarometerSpec.hpp"
#include "JFunc_void_BarometerMeasurement.hpp"
#include "JHybridOneBatterySpec.hpp"
#include "JFunc_void_BatteryLevelEvent.hpp"
#include "JFunc_void_BatteryStateEvent.hpp"
#include "JFunc_void_BatteryPowerModeEvent.hpp"
#include "JHybridOneBrightnessSpec.hpp"
#include "JFunc_void_BrightnessEvent.hpp"
#include "JHybridOneBrowserSpec.hpp"
#include "JHybridOneCalendarSpec.hpp"
#include "JHybridOneClipboardSpec.hpp"
#include "JFunc_void_std__vector_std__string_.hpp"
#include "JHybridOneContactsSpec.hpp"
#include "JHybridOneDeviceSpec.hpp"
#include "JHybridOneDocumentPickerSpec.hpp"
#include "JHybridOneFetchSpec.hpp"
#include "JFunc_void_FetchNativeResponse.hpp"
#include "JFunc_void_std__shared_ptr_ArrayBuffer_.hpp"
#include "JHybridOneFileSystemSpec.hpp"
#include "JHybridOneFontsSpec.hpp"
#include "JHybridOneHapticsSpec.hpp"
#include "JHybridOneImageManipulatorSpec.hpp"
#include "JHybridOneImagePickerSpec.hpp"
#include "JHybridOneKeepAwakeSpec.hpp"
#include "JHybridOneLaunchScreenSpec.hpp"
#include "JHybridOneLightSensorSpec.hpp"
#include "JFunc_void_LightSensorMeasurement.hpp"
#include "JHybridOneLocalAuthenticationSpec.hpp"
#include "JHybridOneLocationSpec.hpp"
#include "JFunc_void_LocationPosition.hpp"
#include "JFunc_void_std__string_std__string.hpp"
#include "JFunc_void_LocationRegion.hpp"
#include "JHybridOneMapServicesSpec.hpp"
#include "JHybridOneMotionSpec.hpp"
#include "JFunc_void_MotionReading.hpp"
#include "JHybridOneNativeModulesSpec.hpp"
#include "JHybridOneNetworkSpec.hpp"
#include "JFunc_void_NetworkState.hpp"
#include "JHybridOneNotificationsSpec.hpp"
#include "JFunc_void_std__string_NativeNotification.hpp"
#include "JFunc_void_NativeNotificationResponse.hpp"
#include "JFunc_void_NativePushToken.hpp"
#include "JHybridOnePedometerSpec.hpp"
#include "JFunc_void_PedometerResult.hpp"
#include "JHybridOnePhotoLibrarySpec.hpp"
#include "JHybridOnePrintSpec.hpp"
#include "JHybridOneProtectedStoreSpec.hpp"
#include "JHybridOneQuickActionsSpec.hpp"
#include "JHybridOneScreenCaptureSpec.hpp"
#include "JFunc_void_ScreenCaptureState.hpp"
#include "JFunc_void_double.hpp"
#include "JHybridOneScreenOrientationSpec.hpp"
#include "JFunc_void_ScreenOrientationValue.hpp"
#include "JHybridOneSecureStoreSpec.hpp"
#include "JHybridOneShareSpec.hpp"
#include "JHybridOneSpeechSpec.hpp"
#include "JFunc_void_SpeechEvent.hpp"
#include "JHybridOneSpeechSynthesisSpec.hpp"
#include "JFunc_void_SpeechSynthesisEvent.hpp"
#include "JHybridOneStoreReviewSpec.hpp"
#include "JHybridOneUpdatesSpec.hpp"
#include "JFunc_void_std__optional_std__string_.hpp"
#include <NitroModules/DefaultConstructableObject.hpp>
#include "HybridOneCrypto.hpp"
#include "HybridOneStorage.hpp"

namespace margelo::nitro::one {

int initialize(JavaVM* vm) {
  return facebook::jni::initialize(vm, []() {
    ::margelo::nitro::one::registerAllNatives();
  });
}

struct JHybridOneHapticsSpecImpl: public jni::JavaClass<JHybridOneHapticsSpecImpl, JHybridOneHapticsSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneHaptics;";
  static std::shared_ptr<JHybridOneHapticsSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneHapticsSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneHapticsSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneHapticsSpec();
  }
};
struct JHybridOneLaunchScreenSpecImpl: public jni::JavaClass<JHybridOneLaunchScreenSpecImpl, JHybridOneLaunchScreenSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneLaunchScreen;";
  static std::shared_ptr<JHybridOneLaunchScreenSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneLaunchScreenSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneLaunchScreenSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneLaunchScreenSpec();
  }
};
struct JHybridOneClipboardSpecImpl: public jni::JavaClass<JHybridOneClipboardSpecImpl, JHybridOneClipboardSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneClipboard;";
  static std::shared_ptr<JHybridOneClipboardSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneClipboardSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneClipboardSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneClipboardSpec();
  }
};
struct JHybridOneBatterySpecImpl: public jni::JavaClass<JHybridOneBatterySpecImpl, JHybridOneBatterySpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneBattery;";
  static std::shared_ptr<JHybridOneBatterySpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneBatterySpecImpl::javaobject()>();
    jni::local_ref<JHybridOneBatterySpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneBatterySpec();
  }
};
struct JHybridOneBrightnessSpecImpl: public jni::JavaClass<JHybridOneBrightnessSpecImpl, JHybridOneBrightnessSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneBrightness;";
  static std::shared_ptr<JHybridOneBrightnessSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneBrightnessSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneBrightnessSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneBrightnessSpec();
  }
};
struct JHybridOneSpeechSynthesisSpecImpl: public jni::JavaClass<JHybridOneSpeechSynthesisSpecImpl, JHybridOneSpeechSynthesisSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneSpeechSynthesis;";
  static std::shared_ptr<JHybridOneSpeechSynthesisSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneSpeechSynthesisSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneSpeechSynthesisSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneSpeechSynthesisSpec();
  }
};
struct JHybridOneNetworkSpecImpl: public jni::JavaClass<JHybridOneNetworkSpecImpl, JHybridOneNetworkSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneNetwork;";
  static std::shared_ptr<JHybridOneNetworkSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneNetworkSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneNetworkSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneNetworkSpec();
  }
};
struct JHybridOneAppInfoSpecImpl: public jni::JavaClass<JHybridOneAppInfoSpecImpl, JHybridOneAppInfoSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneAppInfo;";
  static std::shared_ptr<JHybridOneAppInfoSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneAppInfoSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneAppInfoSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneAppInfoSpec();
  }
};
struct JHybridOneBrowserSpecImpl: public jni::JavaClass<JHybridOneBrowserSpecImpl, JHybridOneBrowserSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneBrowser;";
  static std::shared_ptr<JHybridOneBrowserSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneBrowserSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneBrowserSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneBrowserSpec();
  }
};
struct JHybridOneImagePickerSpecImpl: public jni::JavaClass<JHybridOneImagePickerSpecImpl, JHybridOneImagePickerSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneImagePicker;";
  static std::shared_ptr<JHybridOneImagePickerSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneImagePickerSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneImagePickerSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneImagePickerSpec();
  }
};
struct JHybridOneDocumentPickerSpecImpl: public jni::JavaClass<JHybridOneDocumentPickerSpecImpl, JHybridOneDocumentPickerSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneDocumentPicker;";
  static std::shared_ptr<JHybridOneDocumentPickerSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneDocumentPickerSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneDocumentPickerSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneDocumentPickerSpec();
  }
};
struct JHybridOneFontsSpecImpl: public jni::JavaClass<JHybridOneFontsSpecImpl, JHybridOneFontsSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneFonts;";
  static std::shared_ptr<JHybridOneFontsSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneFontsSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneFontsSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneFontsSpec();
  }
};
struct JHybridOneNotificationsSpecImpl: public jni::JavaClass<JHybridOneNotificationsSpecImpl, JHybridOneNotificationsSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneNotifications;";
  static std::shared_ptr<JHybridOneNotificationsSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneNotificationsSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneNotificationsSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneNotificationsSpec();
  }
};
struct JHybridOneSecureStoreSpecImpl: public jni::JavaClass<JHybridOneSecureStoreSpecImpl, JHybridOneSecureStoreSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneSecureStore;";
  static std::shared_ptr<JHybridOneSecureStoreSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneSecureStoreSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneSecureStoreSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneSecureStoreSpec();
  }
};
struct JHybridOneAdaptiveSpecImpl: public jni::JavaClass<JHybridOneAdaptiveSpecImpl, JHybridOneAdaptiveSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneAdaptive;";
  static std::shared_ptr<JHybridOneAdaptiveSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneAdaptiveSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneAdaptiveSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneAdaptiveSpec();
  }
};
struct JHybridOneSpeechSpecImpl: public jni::JavaClass<JHybridOneSpeechSpecImpl, JHybridOneSpeechSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneSpeech;";
  static std::shared_ptr<JHybridOneSpeechSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneSpeechSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneSpeechSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneSpeechSpec();
  }
};
struct JHybridOneFetchSpecImpl: public jni::JavaClass<JHybridOneFetchSpecImpl, JHybridOneFetchSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneFetch;";
  static std::shared_ptr<JHybridOneFetchSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneFetchSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneFetchSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneFetchSpec();
  }
};
struct JHybridOneAppleAuthSpecImpl: public jni::JavaClass<JHybridOneAppleAuthSpecImpl, JHybridOneAppleAuthSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneAppleAuth;";
  static std::shared_ptr<JHybridOneAppleAuthSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneAppleAuthSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneAppleAuthSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneAppleAuthSpec();
  }
};
struct JHybridOneLocalAuthenticationSpecImpl: public jni::JavaClass<JHybridOneLocalAuthenticationSpecImpl, JHybridOneLocalAuthenticationSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneLocalAuthentication;";
  static std::shared_ptr<JHybridOneLocalAuthenticationSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneLocalAuthenticationSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneLocalAuthenticationSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneLocalAuthenticationSpec();
  }
};
struct JHybridOneProtectedStoreSpecImpl: public jni::JavaClass<JHybridOneProtectedStoreSpecImpl, JHybridOneProtectedStoreSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneProtectedStore;";
  static std::shared_ptr<JHybridOneProtectedStoreSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneProtectedStoreSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneProtectedStoreSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneProtectedStoreSpec();
  }
};
struct JHybridOneKeepAwakeSpecImpl: public jni::JavaClass<JHybridOneKeepAwakeSpecImpl, JHybridOneKeepAwakeSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneKeepAwake;";
  static std::shared_ptr<JHybridOneKeepAwakeSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneKeepAwakeSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneKeepAwakeSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneKeepAwakeSpec();
  }
};
struct JHybridOnePrintSpecImpl: public jni::JavaClass<JHybridOnePrintSpecImpl, JHybridOnePrintSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOnePrint;";
  static std::shared_ptr<JHybridOnePrintSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOnePrintSpecImpl::javaobject()>();
    jni::local_ref<JHybridOnePrintSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOnePrintSpec();
  }
};
struct JHybridOneStoreReviewSpecImpl: public jni::JavaClass<JHybridOneStoreReviewSpecImpl, JHybridOneStoreReviewSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneStoreReview;";
  static std::shared_ptr<JHybridOneStoreReviewSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneStoreReviewSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneStoreReviewSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneStoreReviewSpec();
  }
};
struct JHybridOneQuickActionsSpecImpl: public jni::JavaClass<JHybridOneQuickActionsSpecImpl, JHybridOneQuickActionsSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneQuickActions;";
  static std::shared_ptr<JHybridOneQuickActionsSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneQuickActionsSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneQuickActionsSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneQuickActionsSpec();
  }
};
struct JHybridOneLocationSpecImpl: public jni::JavaClass<JHybridOneLocationSpecImpl, JHybridOneLocationSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneLocation;";
  static std::shared_ptr<JHybridOneLocationSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneLocationSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneLocationSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneLocationSpec();
  }
};
struct JHybridOneFileSystemSpecImpl: public jni::JavaClass<JHybridOneFileSystemSpecImpl, JHybridOneFileSystemSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneFileSystem;";
  static std::shared_ptr<JHybridOneFileSystemSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneFileSystemSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneFileSystemSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneFileSystemSpec();
  }
};
struct JHybridOneAudioSpecImpl: public jni::JavaClass<JHybridOneAudioSpecImpl, JHybridOneAudioSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneAudio;";
  static std::shared_ptr<JHybridOneAudioSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneAudioSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneAudioSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneAudioSpec();
  }
};
struct JHybridOneShareSpecImpl: public jni::JavaClass<JHybridOneShareSpecImpl, JHybridOneShareSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneShare;";
  static std::shared_ptr<JHybridOneShareSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneShareSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneShareSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneShareSpec();
  }
};
struct JHybridOnePhotoLibrarySpecImpl: public jni::JavaClass<JHybridOnePhotoLibrarySpecImpl, JHybridOnePhotoLibrarySpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOnePhotoLibrary;";
  static std::shared_ptr<JHybridOnePhotoLibrarySpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOnePhotoLibrarySpecImpl::javaobject()>();
    jni::local_ref<JHybridOnePhotoLibrarySpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOnePhotoLibrarySpec();
  }
};
struct JHybridOneAppIconSpecImpl: public jni::JavaClass<JHybridOneAppIconSpecImpl, JHybridOneAppIconSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneAppIcon;";
  static std::shared_ptr<JHybridOneAppIconSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneAppIconSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneAppIconSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneAppIconSpec();
  }
};
struct JHybridOneImageManipulatorSpecImpl: public jni::JavaClass<JHybridOneImageManipulatorSpecImpl, JHybridOneImageManipulatorSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneImageManipulator;";
  static std::shared_ptr<JHybridOneImageManipulatorSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneImageManipulatorSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneImageManipulatorSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneImageManipulatorSpec();
  }
};
struct JHybridOneDeviceSpecImpl: public jni::JavaClass<JHybridOneDeviceSpecImpl, JHybridOneDeviceSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneDevice;";
  static std::shared_ptr<JHybridOneDeviceSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneDeviceSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneDeviceSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneDeviceSpec();
  }
};
struct JHybridOneMotionSpecImpl: public jni::JavaClass<JHybridOneMotionSpecImpl, JHybridOneMotionSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneMotion;";
  static std::shared_ptr<JHybridOneMotionSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneMotionSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneMotionSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneMotionSpec();
  }
};
struct JHybridOneBackgroundTasksSpecImpl: public jni::JavaClass<JHybridOneBackgroundTasksSpecImpl, JHybridOneBackgroundTasksSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneBackgroundTasks;";
  static std::shared_ptr<JHybridOneBackgroundTasksSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneBackgroundTasksSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneBackgroundTasksSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneBackgroundTasksSpec();
  }
};
struct JHybridOneScreenOrientationSpecImpl: public jni::JavaClass<JHybridOneScreenOrientationSpecImpl, JHybridOneScreenOrientationSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneScreenOrientation;";
  static std::shared_ptr<JHybridOneScreenOrientationSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneScreenOrientationSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneScreenOrientationSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneScreenOrientationSpec();
  }
};
struct JHybridOneScreenCaptureSpecImpl: public jni::JavaClass<JHybridOneScreenCaptureSpecImpl, JHybridOneScreenCaptureSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneScreenCapture;";
  static std::shared_ptr<JHybridOneScreenCaptureSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneScreenCaptureSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneScreenCaptureSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneScreenCaptureSpec();
  }
};
struct JHybridOneContactsSpecImpl: public jni::JavaClass<JHybridOneContactsSpecImpl, JHybridOneContactsSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneContacts;";
  static std::shared_ptr<JHybridOneContactsSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneContactsSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneContactsSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneContactsSpec();
  }
};
struct JHybridOneCalendarSpecImpl: public jni::JavaClass<JHybridOneCalendarSpecImpl, JHybridOneCalendarSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneCalendar;";
  static std::shared_ptr<JHybridOneCalendarSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneCalendarSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneCalendarSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneCalendarSpec();
  }
};
struct JHybridOneMapServicesSpecImpl: public jni::JavaClass<JHybridOneMapServicesSpecImpl, JHybridOneMapServicesSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneMapServices;";
  static std::shared_ptr<JHybridOneMapServicesSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneMapServicesSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneMapServicesSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneMapServicesSpec();
  }
};
struct JHybridOneUpdatesSpecImpl: public jni::JavaClass<JHybridOneUpdatesSpecImpl, JHybridOneUpdatesSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneUpdates;";
  static std::shared_ptr<JHybridOneUpdatesSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneUpdatesSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneUpdatesSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneUpdatesSpec();
  }
};
struct JHybridOneNativeModulesSpecImpl: public jni::JavaClass<JHybridOneNativeModulesSpecImpl, JHybridOneNativeModulesSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneNativeModules;";
  static std::shared_ptr<JHybridOneNativeModulesSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneNativeModulesSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneNativeModulesSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneNativeModulesSpec();
  }
};
struct JHybridOneBarometerSpecImpl: public jni::JavaClass<JHybridOneBarometerSpecImpl, JHybridOneBarometerSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneBarometer;";
  static std::shared_ptr<JHybridOneBarometerSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneBarometerSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneBarometerSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneBarometerSpec();
  }
};
struct JHybridOneLightSensorSpecImpl: public jni::JavaClass<JHybridOneLightSensorSpecImpl, JHybridOneLightSensorSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOneLightSensor;";
  static std::shared_ptr<JHybridOneLightSensorSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOneLightSensorSpecImpl::javaobject()>();
    jni::local_ref<JHybridOneLightSensorSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOneLightSensorSpec();
  }
};
struct JHybridOnePedometerSpecImpl: public jni::JavaClass<JHybridOnePedometerSpecImpl, JHybridOnePedometerSpec::JavaPart> {
  static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/one/HybridOnePedometer;";
  static std::shared_ptr<JHybridOnePedometerSpec> create() {
    static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOnePedometerSpecImpl::javaobject()>();
    jni::local_ref<JHybridOnePedometerSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
    return javaPart->getJHybridOnePedometerSpec();
  }
};

void registerAllNatives() {
  using namespace margelo::nitro;
  using namespace margelo::nitro::one;

  // Register native JNI methods
  margelo::nitro::one::JHybridOneAdaptiveSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_SizeClass_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_std__optional_HingeState__cxx::registerNatives();
  margelo::nitro::one::JHybridOneAppIconSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneAppInfoSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneAppleAuthSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneAudioSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_AudioInterruptionEvent_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_AudioRemoteCommandEvent_cxx::registerNatives();
  margelo::nitro::one::JHybridOneBackgroundTasksSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_BackgroundTaskInvocation_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_std__string_cxx::registerNatives();
  margelo::nitro::one::JHybridOneBarometerSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_BarometerMeasurement_cxx::registerNatives();
  margelo::nitro::one::JHybridOneBatterySpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_BatteryLevelEvent_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_BatteryStateEvent_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_BatteryPowerModeEvent_cxx::registerNatives();
  margelo::nitro::one::JHybridOneBrightnessSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_BrightnessEvent_cxx::registerNatives();
  margelo::nitro::one::JHybridOneBrowserSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneCalendarSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneClipboardSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_std__vector_std__string__cxx::registerNatives();
  margelo::nitro::one::JHybridOneContactsSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneDeviceSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneDocumentPickerSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneFetchSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_FetchNativeResponse_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_std__shared_ptr_ArrayBuffer__cxx::registerNatives();
  margelo::nitro::one::JHybridOneFileSystemSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneFontsSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneHapticsSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneImageManipulatorSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneImagePickerSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneKeepAwakeSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneLaunchScreenSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneLightSensorSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_LightSensorMeasurement_cxx::registerNatives();
  margelo::nitro::one::JHybridOneLocalAuthenticationSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneLocationSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_LocationPosition_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_std__string_std__string_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_LocationRegion_cxx::registerNatives();
  margelo::nitro::one::JHybridOneMapServicesSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneMotionSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_MotionReading_cxx::registerNatives();
  margelo::nitro::one::JHybridOneNativeModulesSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneNetworkSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_NetworkState_cxx::registerNatives();
  margelo::nitro::one::JHybridOneNotificationsSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_std__string_NativeNotification_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_NativeNotificationResponse_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_NativePushToken_cxx::registerNatives();
  margelo::nitro::one::JHybridOnePedometerSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_PedometerResult_cxx::registerNatives();
  margelo::nitro::one::JHybridOnePhotoLibrarySpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOnePrintSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneProtectedStoreSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneQuickActionsSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneScreenCaptureSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_ScreenCaptureState_cxx::registerNatives();
  margelo::nitro::one::JFunc_void_double_cxx::registerNatives();
  margelo::nitro::one::JHybridOneScreenOrientationSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_ScreenOrientationValue_cxx::registerNatives();
  margelo::nitro::one::JHybridOneSecureStoreSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneShareSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneSpeechSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_SpeechEvent_cxx::registerNatives();
  margelo::nitro::one::JHybridOneSpeechSynthesisSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_SpeechSynthesisEvent_cxx::registerNatives();
  margelo::nitro::one::JHybridOneStoreReviewSpec::CxxPart::registerNatives();
  margelo::nitro::one::JHybridOneUpdatesSpec::CxxPart::registerNatives();
  margelo::nitro::one::JFunc_void_std__optional_std__string__cxx::registerNatives();

  // Register Nitro Hybrid Objects
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneHaptics",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneHapticsSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneLaunchScreen",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneLaunchScreenSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneClipboard",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneClipboardSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneBattery",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneBatterySpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneBrightness",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneBrightnessSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneSpeechSynthesis",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneSpeechSynthesisSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneCrypto",
    []() -> std::shared_ptr<HybridObject> {
      static_assert(std::is_default_constructible_v<HybridOneCrypto>,
                    "The HybridObject \"HybridOneCrypto\" is not default-constructible! "
                    "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
      return std::make_shared<HybridOneCrypto>();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneNetwork",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneNetworkSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneAppInfo",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneAppInfoSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneBrowser",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneBrowserSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneImagePicker",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneImagePickerSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneDocumentPicker",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneDocumentPickerSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneFonts",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneFontsSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneNotifications",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneNotificationsSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneSecureStore",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneSecureStoreSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneAdaptive",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneAdaptiveSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneSpeech",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneSpeechSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneFetch",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneFetchSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneAppleAuth",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneAppleAuthSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneLocalAuthentication",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneLocalAuthenticationSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneProtectedStore",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneProtectedStoreSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneStorage",
    []() -> std::shared_ptr<HybridObject> {
      static_assert(std::is_default_constructible_v<HybridOneStorage>,
                    "The HybridObject \"HybridOneStorage\" is not default-constructible! "
                    "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
      return std::make_shared<HybridOneStorage>();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneKeepAwake",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneKeepAwakeSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OnePrint",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOnePrintSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneStoreReview",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneStoreReviewSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneQuickActions",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneQuickActionsSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneLocation",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneLocationSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneFileSystem",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneFileSystemSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneAudio",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneAudioSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneShare",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneShareSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OnePhotoLibrary",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOnePhotoLibrarySpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneAppIcon",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneAppIconSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneImageManipulator",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneImageManipulatorSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneDevice",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneDeviceSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneMotion",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneMotionSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneBackgroundTasks",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneBackgroundTasksSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneScreenOrientation",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneScreenOrientationSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneScreenCapture",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneScreenCaptureSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneContacts",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneContactsSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneCalendar",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneCalendarSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneMapServices",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneMapServicesSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneUpdates",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneUpdatesSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneNativeModules",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneNativeModulesSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneBarometer",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneBarometerSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OneLightSensor",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOneLightSensorSpecImpl::create();
    }
  );
  HybridObjectRegistry::registerHybridObjectConstructor(
    "OnePedometer",
    []() -> std::shared_ptr<HybridObject> {
      return JHybridOnePedometerSpecImpl::create();
    }
  );
}

} // namespace margelo::nitro::one
