CPF/CPF.Mac/Mac/Foundation/NSCharacterSet.cs
2023-11-21 23:05:03 +08:00

388 lines
13 KiB
C#

using CPF.Mac.ObjCRuntime;
using System;
using System.ComponentModel;
namespace CPF.Mac.Foundation
{
[Register("NSCharacterSet", true)]
public class NSCharacterSet : NSObject
{
private static readonly IntPtr selAlphanumericCharacterSetHandle = Selector.GetHandle("alphanumericCharacterSet");
private static readonly IntPtr selCapitalizedLetterCharacterSetHandle = Selector.GetHandle("capitalizedLetterCharacterSet");
private static readonly IntPtr selControlCharacterSetHandle = Selector.GetHandle("controlCharacterSet");
private static readonly IntPtr selDecimalDigitCharacterSetHandle = Selector.GetHandle("decimalDigitCharacterSet");
private static readonly IntPtr selDecomposableCharacterSetHandle = Selector.GetHandle("decomposableCharacterSet");
private static readonly IntPtr selIllegalCharacterSetHandle = Selector.GetHandle("illegalCharacterSet");
private static readonly IntPtr selLetterCharacterSetHandle = Selector.GetHandle("letterCharacterSet");
private static readonly IntPtr selLowercaseLetterCharacterSetHandle = Selector.GetHandle("lowercaseLetterCharacterSet");
private static readonly IntPtr selNewlineCharacterSetHandle = Selector.GetHandle("newlineCharacterSet");
private static readonly IntPtr selNonBaseCharacterSetHandle = Selector.GetHandle("nonBaseCharacterSet");
private static readonly IntPtr selPunctuationCharacterSetHandle = Selector.GetHandle("punctuationCharacterSet");
private static readonly IntPtr selSymbolCharacterSetHandle = Selector.GetHandle("symbolCharacterSet");
private static readonly IntPtr selUppercaseLetterCharacterSetHandle = Selector.GetHandle("uppercaseLetterCharacterSet");
private static readonly IntPtr selWhitespaceAndNewlineCharacterSetHandle = Selector.GetHandle("whitespaceAndNewlineCharacterSet");
private static readonly IntPtr selWhitespaceCharacterSetHandle = Selector.GetHandle("whitespaceCharacterSet");
private static readonly IntPtr selInvertedSetHandle = Selector.GetHandle("invertedSet");
private static readonly IntPtr selCharacterSetWithBitmapRepresentation_Handle = Selector.GetHandle("characterSetWithBitmapRepresentation:");
private static readonly IntPtr selCharacterSetWithCharactersInString_Handle = Selector.GetHandle("characterSetWithCharactersInString:");
private static readonly IntPtr selCharacterSetWithContentsOfFile_Handle = Selector.GetHandle("characterSetWithContentsOfFile:");
private static readonly IntPtr selCharacterSetWithRange_Handle = Selector.GetHandle("characterSetWithRange:");
private static readonly IntPtr selBitmapRepresentationHandle = Selector.GetHandle("bitmapRepresentation");
private static readonly IntPtr selCharacterIsMember_Handle = Selector.GetHandle("characterIsMember:");
private static readonly IntPtr selHasMemberInPlane_Handle = Selector.GetHandle("hasMemberInPlane:");
private static readonly IntPtr selIsSupersetOfSet_Handle = Selector.GetHandle("isSupersetOfSet:");
private static readonly IntPtr selLongCharacterIsMember_Handle = Selector.GetHandle("longCharacterIsMember:");
private static readonly IntPtr class_ptr = Class.GetHandle("NSCharacterSet");
private static object __mt_Alphanumerics_var_static;
private static object __mt_Capitalized_var_static;
private static object __mt_Controls_var_static;
private static object __mt_DecimalDigits_var_static;
private static object __mt_Decomposables_var_static;
private static object __mt_Illegals_var_static;
private static object __mt_Letters_var_static;
private static object __mt_LowercaseLetters_var_static;
private static object __mt_Newlines_var_static;
private static object __mt_Marks_var_static;
private static object __mt_Punctuation_var_static;
private static object __mt_Symbols_var_static;
private static object __mt_UppercaseLetters_var_static;
private static object __mt_WhitespaceAndNewlines_var_static;
private static object __mt_Whitespaces_var_static;
private object __mt_InvertedSet_var;
public override IntPtr ClassHandle => class_ptr;
public static NSCharacterSet Alphanumerics
{
[Export("alphanumericCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Alphanumerics_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selAlphanumericCharacterSetHandle)));
}
}
public static NSCharacterSet Capitalized
{
[Export("capitalizedLetterCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Capitalized_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selCapitalizedLetterCharacterSetHandle)));
}
}
public static NSCharacterSet Controls
{
[Export("controlCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Controls_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlCharacterSetHandle)));
}
}
public static NSCharacterSet DecimalDigits
{
[Export("decimalDigitCharacterSet")]
get
{
return (NSCharacterSet)(__mt_DecimalDigits_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selDecimalDigitCharacterSetHandle)));
}
}
public static NSCharacterSet Decomposables
{
[Export("decomposableCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Decomposables_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selDecomposableCharacterSetHandle)));
}
}
public static NSCharacterSet Illegals
{
[Export("illegalCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Illegals_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selIllegalCharacterSetHandle)));
}
}
public static NSCharacterSet Letters
{
[Export("letterCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Letters_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selLetterCharacterSetHandle)));
}
}
public static NSCharacterSet LowercaseLetters
{
[Export("lowercaseLetterCharacterSet")]
get
{
return (NSCharacterSet)(__mt_LowercaseLetters_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selLowercaseLetterCharacterSetHandle)));
}
}
public static NSCharacterSet Newlines
{
[Export("newlineCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Newlines_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selNewlineCharacterSetHandle)));
}
}
public static NSCharacterSet Marks
{
[Export("nonBaseCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Marks_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selNonBaseCharacterSetHandle)));
}
}
public static NSCharacterSet Punctuation
{
[Export("punctuationCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Punctuation_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selPunctuationCharacterSetHandle)));
}
}
public static NSCharacterSet Symbols
{
[Export("symbolCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Symbols_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSymbolCharacterSetHandle)));
}
}
public static NSCharacterSet UppercaseLetters
{
[Export("uppercaseLetterCharacterSet")]
get
{
return (NSCharacterSet)(__mt_UppercaseLetters_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selUppercaseLetterCharacterSetHandle)));
}
}
public static NSCharacterSet WhitespaceAndNewlines
{
[Export("whitespaceAndNewlineCharacterSet")]
get
{
return (NSCharacterSet)(__mt_WhitespaceAndNewlines_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWhitespaceAndNewlineCharacterSetHandle)));
}
}
public static NSCharacterSet Whitespaces
{
[Export("whitespaceCharacterSet")]
get
{
return (NSCharacterSet)(__mt_Whitespaces_var_static = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWhitespaceCharacterSetHandle)));
}
}
public virtual NSCharacterSet InvertedSet
{
[Export("invertedSet")]
get
{
return (NSCharacterSet)(__mt_InvertedSet_var = ((!IsDirectBinding) ? ((NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selInvertedSetHandle))) : ((NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selInvertedSetHandle)))));
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
[Export("init")]
public NSCharacterSet()
: 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 NSCharacterSet(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 NSCharacterSet(NSObjectFlag t)
: base(t)
{
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
public NSCharacterSet(IntPtr handle)
: base(handle)
{
}
[Export("characterSetWithBitmapRepresentation:")]
public static NSCharacterSet FromBitmap(NSData data)
{
if (data == null)
{
throw new ArgumentNullException("data");
}
return (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selCharacterSetWithBitmapRepresentation_Handle, data.Handle));
}
[Export("characterSetWithCharactersInString:")]
public static NSCharacterSet FromString(string aString)
{
if (aString == null)
{
throw new ArgumentNullException("aString");
}
IntPtr intPtr = NSString.CreateNative(aString);
NSCharacterSet result = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selCharacterSetWithCharactersInString_Handle, intPtr));
NSString.ReleaseNative(intPtr);
return result;
}
[Export("characterSetWithContentsOfFile:")]
public static NSCharacterSet FromFile(string path)
{
if (path == null)
{
throw new ArgumentNullException("path");
}
IntPtr intPtr = NSString.CreateNative(path);
NSCharacterSet result = (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selCharacterSetWithContentsOfFile_Handle, intPtr));
NSString.ReleaseNative(intPtr);
return result;
}
[Export("characterSetWithRange:")]
public static NSCharacterSet FromRange(NSRange aRange)
{
return (NSCharacterSet)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_NSRange(class_ptr, selCharacterSetWithRange_Handle, aRange));
}
[Export("bitmapRepresentation")]
public virtual NSData GetBitmapRepresentation()
{
if (IsDirectBinding)
{
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selBitmapRepresentationHandle));
}
return (NSData)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selBitmapRepresentationHandle));
}
[Export("characterIsMember:")]
public virtual bool Contains(char aCharacter)
{
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_Char(base.Handle, selCharacterIsMember_Handle, aCharacter);
}
return Messaging.bool_objc_msgSendSuper_Char(base.SuperHandle, selCharacterIsMember_Handle, aCharacter);
}
[Export("hasMemberInPlane:")]
public virtual bool HasMemberInPlane(byte thePlane)
{
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_byte(base.Handle, selHasMemberInPlane_Handle, thePlane);
}
return Messaging.bool_objc_msgSendSuper_byte(base.SuperHandle, selHasMemberInPlane_Handle, thePlane);
}
[Export("isSupersetOfSet:")]
public virtual bool IsSupersetOf(NSCharacterSet theOtherSet)
{
if (theOtherSet == null)
{
throw new ArgumentNullException("theOtherSet");
}
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_IntPtr(base.Handle, selIsSupersetOfSet_Handle, theOtherSet.Handle);
}
return Messaging.bool_objc_msgSendSuper_IntPtr(base.SuperHandle, selIsSupersetOfSet_Handle, theOtherSet.Handle);
}
[Export("longCharacterIsMember:")]
public virtual bool Contains(uint theLongChar)
{
if (IsDirectBinding)
{
return Messaging.bool_objc_msgSend_UInt32(base.Handle, selLongCharacterIsMember_Handle, theLongChar);
}
return Messaging.bool_objc_msgSendSuper_UInt32(base.SuperHandle, selLongCharacterIsMember_Handle, theLongChar);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (base.Handle == IntPtr.Zero)
{
__mt_InvertedSet_var = null;
}
}
}
}