using System.Runtime.InteropServices;
using Chartboost.Constants;
using Chartboost.Mediation.Vungle.Common;
using UnityEngine;
namespace Chartboost.Mediation.Vungle.IOS
{
internal sealed class VungleAdapter : IVungleAdapter
{
[RuntimeInitializeOnLoadMethod]
private static void RegisterInstance()
{
if (Application.isEditor)
return;
Vungle.VungleAdapter.Instance = new VungleAdapter();
}
///
public string AdapterNativeVersion => _CBMVungleAdapterAdapterVersion();
///
public string PartnerSDKVersion => _CBMVungleAdapterPartnerSDKVersion();
///
public string PartnerIdentifier => _CBMVungleAdapterPartnerId();
///
public string PartnerDisplayName => _CBMVungleAdapterPartnerDisplayName();
///
public bool BackButtonImmediatelyEnabled { get; set; }
///
public VungleAdOrientation? AdOrientation { get; set; }
///
public void SetGDPRStatusOverride(bool gdprStatus)
=> _CBMVungleAdapterSetGDPRStatusOverride(gdprStatus);
///
public void SetCCPAStatusOverride(bool ccpaStatus)
=> _CBMVungleAdapterSetCCPAStatusOverride(ccpaStatus);
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMVungleAdapterAdapterVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMVungleAdapterPartnerSDKVersion();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMVungleAdapterPartnerId();
[DllImport(SharedIOSConstants.DLLImport)] private static extern string _CBMVungleAdapterPartnerDisplayName();
[DllImport(SharedIOSConstants.DLLImport)] private static extern void _CBMVungleAdapterSetGDPRStatusOverride(bool gdprStatus);
[DllImport(SharedIOSConstants.DLLImport)] private static extern void _CBMVungleAdapterSetCCPAStatusOverride(bool ccpaStatus);
}
}