using CPF.Mac.ObjCRuntime; using System; using System.ComponentModel; namespace CPF.Mac.Foundation { [Register("NSByteCountFormatter", true)] public class NSByteCountFormatter : NSFormatter { private static readonly IntPtr selAllowsNonnumericFormattingHandle = Selector.GetHandle("allowsNonnumericFormatting"); private static readonly IntPtr selSetAllowsNonnumericFormatting_Handle = Selector.GetHandle("setAllowsNonnumericFormatting:"); private static readonly IntPtr selIncludesUnitHandle = Selector.GetHandle("includesUnit"); private static readonly IntPtr selSetIncludesUnit_Handle = Selector.GetHandle("setIncludesUnit:"); private static readonly IntPtr selIncludesCountHandle = Selector.GetHandle("includesCount"); private static readonly IntPtr selSetIncludesCount_Handle = Selector.GetHandle("setIncludesCount:"); private static readonly IntPtr selIncludesActualByteCountHandle = Selector.GetHandle("includesActualByteCount"); private static readonly IntPtr selSetIncludesActualByteCount_Handle = Selector.GetHandle("setIncludesActualByteCount:"); private static readonly IntPtr selIsAdaptiveHandle = Selector.GetHandle("isAdaptive"); private static readonly IntPtr selSetAdaptive_Handle = Selector.GetHandle("setAdaptive:"); private static readonly IntPtr selZeroPadsFractionDigitsHandle = Selector.GetHandle("zeroPadsFractionDigits"); private static readonly IntPtr selSetZeroPadsFractionDigits_Handle = Selector.GetHandle("setZeroPadsFractionDigits:"); private static readonly IntPtr selAllowedUnitsHandle = Selector.GetHandle("allowedUnits"); private static readonly IntPtr selSetAllowedUnits_Handle = Selector.GetHandle("setAllowedUnits:"); private static readonly IntPtr selCountStyleHandle = Selector.GetHandle("countStyle"); private static readonly IntPtr selSetCountStyle_Handle = Selector.GetHandle("setCountStyle:"); private static readonly IntPtr selStringFromByteCountCountStyle_Handle = Selector.GetHandle("stringFromByteCount:countStyle:"); private static readonly IntPtr selStringFromByteCount_Handle = Selector.GetHandle("stringFromByteCount:"); private static readonly IntPtr class_ptr = Class.GetHandle("NSByteCountFormatter"); public override IntPtr ClassHandle => class_ptr; public virtual bool AllowsNonnumericFormatting { [Export("allowsNonnumericFormatting")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selAllowsNonnumericFormattingHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selAllowsNonnumericFormattingHandle); } [Export("setAllowsNonnumericFormatting:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetAllowsNonnumericFormatting_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetAllowsNonnumericFormatting_Handle, value); } } } public virtual bool IncludesUnit { [Export("includesUnit")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selIncludesUnitHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIncludesUnitHandle); } [Export("setIncludesUnit:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetIncludesUnit_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetIncludesUnit_Handle, value); } } } public virtual bool IncludesCount { [Export("includesCount")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selIncludesCountHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIncludesCountHandle); } [Export("setIncludesCount:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetIncludesCount_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetIncludesCount_Handle, value); } } } public virtual bool IncludesActualByteCount { [Export("includesActualByteCount")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selIncludesActualByteCountHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIncludesActualByteCountHandle); } [Export("setIncludesActualByteCount:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetIncludesActualByteCount_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetIncludesActualByteCount_Handle, value); } } } public virtual bool Adaptive { [Export("isAdaptive")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selIsAdaptiveHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsAdaptiveHandle); } [Export("setAdaptive:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetAdaptive_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetAdaptive_Handle, value); } } } public virtual bool ZeroPadsFractionDigits { [Export("zeroPadsFractionDigits")] get { if (IsDirectBinding) { return Messaging.bool_objc_msgSend(base.Handle, selZeroPadsFractionDigitsHandle); } return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selZeroPadsFractionDigitsHandle); } [Export("setZeroPadsFractionDigits:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_bool(base.Handle, selSetZeroPadsFractionDigits_Handle, value); } else { Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetZeroPadsFractionDigits_Handle, value); } } } public virtual NSByteCountFormatterUnits AllowedUnits { [Export("allowedUnits")] get { if (IsDirectBinding) { return (NSByteCountFormatterUnits)Messaging.UInt64_objc_msgSend(base.Handle, selAllowedUnitsHandle); } return (NSByteCountFormatterUnits)Messaging.UInt64_objc_msgSendSuper(base.SuperHandle, selAllowedUnitsHandle); } [Export("setAllowedUnits:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_UInt64(base.Handle, selSetAllowedUnits_Handle, (ulong)value); } else { Messaging.void_objc_msgSendSuper_UInt64(base.SuperHandle, selSetAllowedUnits_Handle, (ulong)value); } } } public virtual NSByteCountFormatterCountStyle CountStyle { [Export("countStyle")] get { if (IsDirectBinding) { return (NSByteCountFormatterCountStyle)Messaging.Int64_objc_msgSend(base.Handle, selCountStyleHandle); } return (NSByteCountFormatterCountStyle)Messaging.Int64_objc_msgSendSuper(base.SuperHandle, selCountStyleHandle); } [Export("setCountStyle:")] set { if (IsDirectBinding) { Messaging.void_objc_msgSend_Int64(base.Handle, selSetCountStyle_Handle, (long)value); } else { Messaging.void_objc_msgSendSuper_Int64(base.SuperHandle, selSetCountStyle_Handle, (long)value); } } } [EditorBrowsable(EditorBrowsableState.Advanced)] [Export("init")] public NSByteCountFormatter() : base(NSObjectFlag.Empty) { if (IsDirectBinding) { base.Handle = Messaging.IntPtr_objc_msgSend(base.Handle, Selector.Init); } else { base.Handle = Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, Selector.Init); } } [EditorBrowsable(EditorBrowsableState.Advanced)] [Export("initWithCoder:")] public NSByteCountFormatter(NSCoder coder) : base(NSObjectFlag.Empty) { if (IsDirectBinding) { base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, Selector.InitWithCoder, coder.Handle); } else { base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, Selector.InitWithCoder, coder.Handle); } } [EditorBrowsable(EditorBrowsableState.Advanced)] public NSByteCountFormatter(NSObjectFlag t) : base(t) { } [EditorBrowsable(EditorBrowsableState.Advanced)] public NSByteCountFormatter(IntPtr handle) : base(handle) { } [Export("stringFromByteCount:countStyle:")] public static string Format(long byteCount, NSByteCountFormatterCountStyle countStyle) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend_Int64_Int64(class_ptr, selStringFromByteCountCountStyle_Handle, byteCount, (long)countStyle)); } [Export("stringFromByteCount:")] public virtual string Format(long byteCount) { if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend_Int64(base.Handle, selStringFromByteCount_Handle, byteCount)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper_Int64(base.SuperHandle, selStringFromByteCount_Handle, byteCount)); } } }