using System;
using InMobiAds.Common;
namespace InMobiAds.Api.UnifiedId
{
	public class InMobiUnifiedIdService
	{
		private static IInMobiUnifiedIdClient inMobiUnifiedIdClient;

		public static event EventHandler<OnFetchCompletedEventArgs> OnFetchCompleted = delegate { };

		static InMobiUnifiedIdService ()
		{
			inMobiUnifiedIdClient = InMobiAdsClientFactory.BuildInMobiUnifiedIdClient();
			inMobiUnifiedIdClient.OnFetchCompleted += delegate (object sender, OnFetchCompletedEventArgs e) {
				OnFetchCompleted(sender, e);
		};
		}

		public static void Push (InMobiUserDataModel inMobiUserDataModel)
		{
			inMobiUnifiedIdClient.Push (inMobiUserDataModel);
		}

		public static void FetchUnifiedIds ()
		{
			inMobiUnifiedIdClient.FetchUnifiedIds ();
		}

		public static void Reset ()
		{
			inMobiUnifiedIdClient.Reset ();	        
		}

		#if UNITY_IOS
		public static void EnableDebugMode (bool debugMode)
		{
			inMobiUnifiedIdClient.EnableDebugMode (debugMode);	        
	    }
		#endif

	}
}