using CPF.Mac.Foundation;
using CPF.Mac.ObjCRuntime;
using System;

namespace CPF.Mac.AppKit
{
	public class NSApplicationDidFinishLaunchingEventArgs : NSNotificationEventArgs
	{
		private static IntPtr k0;

		private static IntPtr k1;

		public bool IsLaunchDefault
		{
			get
			{
				if (k0 == IntPtr.Zero)
				{
					k0 = Dlfcn.GetIntPtr(Libraries.AppKit.Handle, "NSApplicationLaunchIsDefaultLaunchKey");
				}
				IntPtr intPtr = base.Notification.UserInfo.LowlevelObjectForKey(k0);
				if (intPtr == IntPtr.Zero)
				{
					return false;
				}
				using (NSNumber nSNumber = new NSNumber(intPtr))
				{
					return nSNumber.BoolValue;
				}
			}
		}

		public bool IsLaunchFromUserNotification
		{
			get
			{
				if (k1 == IntPtr.Zero)
				{
					k1 = Dlfcn.GetIntPtr(Libraries.AppKit.Handle, "NSApplicationLaunchUserNotificationKey");
				}
				if (base.Notification.UserInfo == null)
				{
					return false;
				}
				return base.Notification.UserInfo.LowlevelObjectForKey(k1) != IntPtr.Zero;
			}
		}

		public NSApplicationDidFinishLaunchingEventArgs(NSNotification notification)
			: base(notification)
		{
		}
	}
}
