Skip to main content

lib/kameleoon/native/nif.ex

defmodule Kameleoon.Native.Nif do
  @moduledoc false

  @nif_mode if Mix.env() == :prod, do: :release, else: :debug

  use Rustler,
    otp_app: :kameleoon_client,
    crate: :kameleoon_elixir_bridge,
    mode: @nif_mode

  def create_client(_site_code, _config, _config_path, _event_owner, _sdk_version),
    do: :erlang.nif_error(:nif_not_loaded)

  def forget_client(_site_code, _environment), do: :erlang.nif_error(:nif_not_loaded)

  def logger_set_handler(_owner), do: :erlang.nif_error(:nif_not_loaded)
  def logger_set_log_level(_level), do: :erlang.nif_error(:nif_not_loaded)

  def initialize(_native, _timeout, _owner, _ref),
    do: :erlang.nif_error(:nif_not_loaded)

  def is_ready(_native), do: :erlang.nif_error(:nif_not_loaded)

  def get_visitor_code(_native, _cookies, _default_visitor_code),
    do: :erlang.nif_error(:nif_not_loaded)

  def set_legal_consent(_native, _visitor_code, _consent, _cookies),
    do: :erlang.nif_error(:nif_not_loaded)

  def add_data(_native, _visitor_code, _data, _track), do: :erlang.nif_error(:nif_not_loaded)
  def flush(_native, _visitor_code), do: :erlang.nif_error(:nif_not_loaded)
  def flush_instant(_native, _visitor_code, _owner, _ref), do: :erlang.nif_error(:nif_not_loaded)

  def track_conversion(_native, _visitor_code, _goal_id, _revenue, _negative, _metadata),
    do: :erlang.nif_error(:nif_not_loaded)

  def is_feature_active(_native, _visitor_code, _feature_key, _track),
    do: :erlang.nif_error(:nif_not_loaded)

  def get_variation(_native, _visitor_code, _feature_key, _track),
    do: :erlang.nif_error(:nif_not_loaded)

  def get_variations(_native, _visitor_code, _only_active, _track),
    do: :erlang.nif_error(:nif_not_loaded)

  def set_forced_variation(
        _native,
        _visitor_code,
        _experiment_id,
        _variation_key,
        _force_targeting
      ),
      do: :erlang.nif_error(:nif_not_loaded)

  def evaluate_audiences(_native, _visitor_code), do: :erlang.nif_error(:nif_not_loaded)
  def get_engine_tracking_code(_native, _visitor_code), do: :erlang.nif_error(:nif_not_loaded)
  def get_remote_data(_native, _key, _owner, _ref), do: :erlang.nif_error(:nif_not_loaded)

  def get_remote_visitor_data(_native, _visitor_code, _filter, _owner, _ref),
    do: :erlang.nif_error(:nif_not_loaded)

  def get_visitor_warehouse_audience(
        _native,
        _visitor_code,
        _custom_data_index,
        _warehouse_key,
        _owner,
        _ref
      ),
      do: :erlang.nif_error(:nif_not_loaded)

  def get_datafile(_native), do: :erlang.nif_error(:nif_not_loaded)
end