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

package com.margelo.nitro.videodrm

import android.util.Log

internal class ReactNativeVideoDrmOnLoad {
  companion object {
    private const val TAG = "ReactNativeVideoDrmOnLoad"
    private var didLoad = false
    /**
     * Initializes the native part of "ReactNativeVideoDrm".
     * This method is idempotent and can be called more than once.
     */
    @JvmStatic
    fun initializeNative() {
      if (didLoad) return
      try {
        Log.i(TAG, "Loading ReactNativeVideoDrm C++ library...")
        System.loadLibrary("ReactNativeVideoDrm")
        Log.i(TAG, "Successfully loaded ReactNativeVideoDrm C++ library!")
        didLoad = true
      } catch (e: Error) {
        Log.e(TAG, "Failed to load ReactNativeVideoDrm C++ library! Is it properly installed and linked? " +
                    "Is the name correct? (see `CMakeLists.txt`, at `add_library(...)`)", e)
        throw e
      }
    }
  }
}
