Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created May 28, 2024 09:03
Show Gist options
  • Save vs-mobiletools-engineering-service2/15c920617f47120c6e7f12514a5eb4e8 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/15c920617f47120c6e7f12514a5eb4e8 to your computer and use it in GitHub Desktop.
previous-api-comparison/diff/dotnet/Microsoft.tvOS.Ref/ref/net8.0/Microsoft.tvOS.md

API diff: Microsoft.tvOS.dll

Microsoft.tvOS.dll

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Added field:

public static const string CryptoTokenKitLibrary = "/System/Library/Frameworks/CryptoTokenKit.framework/CryptoTokenKit";

New Namespace CryptoTokenKit

New Type: CryptoTokenKit.ITKSmartCardTokenDriverDelegate

public interface ITKSmartCardTokenDriverDelegate : ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract TKSmartCardToken CreateToken (TKSmartCardTokenDriver driver, TKSmartCard smartCard, Foundation.NSData aid, out Foundation.NSError error);
}

New Type: CryptoTokenKit.ITKSmartCardUserInteractionDelegate

public interface ITKSmartCardUserInteractionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CryptoTokenKit.ITKTokenDelegate

public interface ITKTokenDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract TKTokenSession CreateSession (TKToken token, out Foundation.NSError error);
}

New Type: CryptoTokenKit.ITKTokenDriverDelegate

public interface ITKTokenDriverDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CryptoTokenKit.ITKTokenSessionDelegate

public interface ITKTokenSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CryptoTokenKit.TKBerTlvRecord

public class TKBerTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKBerTlvRecord ();
	protected TKBerTlvRecord (Foundation.NSObjectFlag t);
	protected TKBerTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKBerTlvRecord (ulong tag, TKTlvRecord[] records);
	public TKBerTlvRecord (ulong tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static Foundation.NSData GetData (ulong tag);
}

New Type: CryptoTokenKit.TKCompactTlvRecord

public class TKCompactTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKCompactTlvRecord ();
	protected TKCompactTlvRecord (Foundation.NSObjectFlag t);
	protected TKCompactTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKCompactTlvRecord (byte tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKErrorCode

[Serializable]
public enum TKErrorCode {
	AuthenticationFailed = -5,
	AuthenticationNeeded = -9,
	BadParameter = -8,
	CanceledByUser = -4,
	CommunicationError = -2,
	CorruptedData = -3,
	NotImplemented = -1,
	ObjectNotFound = -6,
	TokenNotFound = -7,
}

New Type: CryptoTokenKit.TKErrorCodeExtensions

public static class TKErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this TKErrorCode self);
}

New Type: CryptoTokenKit.TKGetSlotCallback

public sealed delegate TKGetSlotCallback : System.MulticastDelegate {
	// constructors
	public TKGetSlotCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (TKSmartCardSlot slot, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (TKSmartCardSlot slot);
}

New Type: CryptoTokenKit.TKSimpleTlvRecord

public class TKSimpleTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKSimpleTlvRecord ();
	protected TKSimpleTlvRecord (Foundation.NSObjectFlag t);
	protected TKSimpleTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKSimpleTlvRecord (byte tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCard

public class TKSmartCard : Foundation.NSObject {
	// constructors
	public TKSmartCard ();
	protected TKSmartCard (Foundation.NSObjectFlag t);
	protected TKSmartCard (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardProtocol AllowedProtocols { get; set; }
	public virtual byte Cla { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSObject Context { get; set; }
	public virtual TKSmartCardProtocol CurrentProtocol { get; }
	public virtual bool Sensitive { get; set; }
	public virtual TKSmartCardSlot Slot { get; }
	public virtual bool UseCommandChaining { get; set; }
	public virtual bool UseExtendedLength { get; set; }
	public virtual bool Valid { get; }
	// methods
	public virtual void BeginSession (System.Action<System.Boolean,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginSessionAsync ();
	public virtual TKSmartCardUserInteractionForSecurePinChange CreateUserInteractionForSecurePinChange (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr currentPinByteOffset, IntPtr newPinByteOffset);
	public virtual TKSmartCardUserInteractionForSecurePinVerification CreateUserInteractionForSecurePinVerification (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr pinByteOffset);
	protected override void Dispose (bool disposing);
	public virtual void EndSession ();
	public virtual bool ExecuteBlock (out Foundation.NSError error, TKSmartCardExecuteCallback block);
	public virtual void Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, TKSmartCardSendCallback reply);
	public virtual Foundation.NSData Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, out ushort sw, out Foundation.NSError error);
	public virtual void TransmitRequest (Foundation.NSData request, System.Action<Foundation.NSData,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> TransmitRequestAsync (Foundation.NSData request);
}

New Type: CryptoTokenKit.TKSmartCardAtr

public class TKSmartCardAtr : Foundation.NSObject {
	// constructors
	public TKSmartCardAtr (Foundation.NSData bytes);
	protected TKSmartCardAtr (Foundation.NSObjectFlag t);
	protected TKSmartCardAtr (ObjCRuntime.NativeHandle handle);
	public TKSmartCardAtr (System.Func<int> source);
	// properties
	public virtual Foundation.NSData Bytes { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData HistoricalBytes { get; }
	public virtual TKCompactTlvRecord[] HistoricalRecords { get; }
	public virtual TKSmartCardProtocol[] Protocols { get; }
	// methods
	public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (TKSmartCardProtocol protocol);
	public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (IntPtr index);
}

New Type: CryptoTokenKit.TKSmartCardAtrInterfaceGroup

public class TKSmartCardAtrInterfaceGroup : Foundation.NSObject {
	// constructors
	public TKSmartCardAtrInterfaceGroup ();
	protected TKSmartCardAtrInterfaceGroup (Foundation.NSObjectFlag t);
	protected TKSmartCardAtrInterfaceGroup (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSNumber Protocol { get; }
	public virtual Foundation.NSNumber TA { get; }
	public virtual Foundation.NSNumber TB { get; }
	public virtual Foundation.NSNumber TC { get; }
}

New Type: CryptoTokenKit.TKSmartCardExecuteCallback

public sealed delegate TKSmartCardExecuteCallback : System.MulticastDelegate {
	// constructors
	public TKSmartCardExecuteCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (out Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (out Foundation.NSError error, System.IAsyncResult result);
	public virtual bool Invoke (out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKSmartCardPinCharset

[Serializable]
public enum TKSmartCardPinCharset {
	Alphanumeric = 1,
	Numeric = 0,
	UpperAlphanumeric = 2,
}

New Type: CryptoTokenKit.TKSmartCardPinCompletion

[Serializable]
[Flags]
public enum TKSmartCardPinCompletion {
	Key = 2,
	MaxLength = 1,
	Timeout = 4,
}

New Type: CryptoTokenKit.TKSmartCardPinConfirmation

[Serializable]
[Flags]
public enum TKSmartCardPinConfirmation {
	Current = 2,
	New = 1,
	None = 0,
}

New Type: CryptoTokenKit.TKSmartCardPinEncoding

[Serializable]
public enum TKSmartCardPinEncoding {
	Ascii = 1,
	Bcd = 2,
	Binary = 0,
}

New Type: CryptoTokenKit.TKSmartCardPinFormat

public class TKSmartCardPinFormat : Foundation.NSObject {
	// constructors
	public TKSmartCardPinFormat ();
	protected TKSmartCardPinFormat (Foundation.NSObjectFlag t);
	protected TKSmartCardPinFormat (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardPinCharset Charset { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCardPinEncoding Encoding { get; set; }
	public virtual IntPtr MaxPinLength { get; set; }
	public virtual IntPtr MinPinLength { get; set; }
	public virtual IntPtr PinBitOffset { get; set; }
	public virtual IntPtr PinBlockByteLength { get; set; }
	public virtual TKSmartCardPinJustification PinJustification { get; set; }
	public virtual IntPtr PinLengthBitOffset { get; set; }
	public virtual IntPtr PinLengthBitSize { get; set; }
}

New Type: CryptoTokenKit.TKSmartCardPinJustification

[Serializable]
public enum TKSmartCardPinJustification {
	Left = 0,
	Right = 1,
}

New Type: CryptoTokenKit.TKSmartCardProtocol

[Serializable]
[Flags]
public enum TKSmartCardProtocol {
	Any = 65535,
	None = 0,
	T0 = 1,
	T1 = 2,
	T15 = 32768,
}

New Type: CryptoTokenKit.TKSmartCardSendCallback

public sealed delegate TKSmartCardSendCallback : System.MulticastDelegate {
	// constructors
	public TKSmartCardSendCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error);
}

New Type: CryptoTokenKit.TKSmartCardSlot

public class TKSmartCardSlot : Foundation.NSObject {
	// constructors
	public TKSmartCardSlot ();
	protected TKSmartCardSlot (Foundation.NSObjectFlag t);
	protected TKSmartCardSlot (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardAtr Atr { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr MaxInputLength { get; }
	public virtual IntPtr MaxOutputLength { get; }
	public virtual string Name { get; }
	public virtual TKSmartCardSlotState State { get; }
	// methods
	public virtual TKSmartCard MakeSmartCard ();
}

New Type: CryptoTokenKit.TKSmartCardSlotManager

public class TKSmartCardSlotManager : Foundation.NSObject {
	// constructors
	protected TKSmartCardSlotManager (Foundation.NSObjectFlag t);
	protected TKSmartCardSlotManager (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static TKSmartCardSlotManager DefaultManager { get; }
	public virtual string[] SlotNames { get; }
	// methods
	public virtual TKSmartCardSlot GetSlot (string name);
	public virtual void GetSlot (string name, TKGetSlotCallback reply);
	public virtual System.Threading.Tasks.Task<TKSmartCardSlot> GetSlotAsync (string name);
}

New Type: CryptoTokenKit.TKSmartCardSlotState

[Serializable]
public enum TKSmartCardSlotState {
	Empty = 1,
	Missing = 0,
	MuteCard = 3,
	Probing = 2,
	ValidCard = 4,
}

New Type: CryptoTokenKit.TKSmartCardToken

public class TKSmartCardToken : CryptoTokenKit.TKToken {
	// constructors
	public TKSmartCardToken ();
	protected TKSmartCardToken (Foundation.NSObjectFlag t);
	protected TKSmartCardToken (ObjCRuntime.NativeHandle handle);
	public TKSmartCardToken (TKSmartCard smartCard, Foundation.NSData aid, string instanceId, TKSmartCardTokenDriver tokenDriver);
	// properties
	public virtual Foundation.NSData Aid { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCardTokenDriver

public class TKSmartCardTokenDriver : CryptoTokenKit.TKTokenDriver {
	// constructors
	public TKSmartCardTokenDriver ();
	protected TKSmartCardTokenDriver (Foundation.NSObjectFlag t);
	protected TKSmartCardTokenDriver (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCardTokenSession

public class TKSmartCardTokenSession : CryptoTokenKit.TKTokenSession {
	// constructors
	public TKSmartCardTokenSession ();
	public TKSmartCardTokenSession (TKToken token);
	protected TKSmartCardTokenSession (Foundation.NSObjectFlag t);
	protected TKSmartCardTokenSession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCard SmartCard { get; }
}

New Type: CryptoTokenKit.TKSmartCardUserInteraction

public class TKSmartCardUserInteraction : Foundation.NSObject {
	// constructors
	public TKSmartCardUserInteraction ();
	protected TKSmartCardUserInteraction (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteraction (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKSmartCardUserInteractionDelegate Delegate { get; set; }
	public virtual double InitialTimeout { get; set; }
	public virtual double InteractionTimeout { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual bool Cancel ();
	protected override void Dispose (bool disposing);
	public virtual void Run (System.Action<System.Boolean,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RunAsync ();
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionDelegate_Extensions

public static class TKSmartCardUserInteractionDelegate_Extensions {
	// methods
	public static void CharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void CorrectionKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void InvalidCharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void NewPinConfirmationRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void NewPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void OldPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void ValidationKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForPinOperation

public class TKSmartCardUserInteractionForPinOperation : CryptoTokenKit.TKSmartCardUserInteraction {
	// constructors
	public TKSmartCardUserInteractionForPinOperation ();
	protected TKSmartCardUserInteractionForPinOperation (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForPinOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSLocale Locale { get; set; }
	public virtual TKSmartCardPinCompletion PinCompletion { get; set; }
	public virtual Foundation.NSNumber[] PinMessageIndices { get; set; }
	public virtual Foundation.NSData ResultData { get; set; }
	public virtual ushort ResultSW { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinChange

public class TKSmartCardUserInteractionForSecurePinChange : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation {
	// constructors
	public TKSmartCardUserInteractionForSecurePinChange ();
	protected TKSmartCardUserInteractionForSecurePinChange (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForSecurePinChange (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCardPinConfirmation PinConfirmation { get; set; }
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinVerification

public class TKSmartCardUserInteractionForSecurePinVerification : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation {
	// constructors
	public TKSmartCardUserInteractionForSecurePinVerification ();
	protected TKSmartCardUserInteractionForSecurePinVerification (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForSecurePinVerification (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKTlvRecord

public class TKTlvRecord : Foundation.NSObject {
	// constructors
	protected TKTlvRecord (Foundation.NSObjectFlag t);
	protected TKTlvRecord (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual ulong Tag { get; }
	public virtual Foundation.NSData Value { get; }
	// methods
	public static TKTlvRecord CreateRecord (Foundation.NSData data);
	public static TKTlvRecord[] CreateSequenceOfRecords (Foundation.NSData data);
}

New Type: CryptoTokenKit.TKToken

public class TKToken : Foundation.NSObject {
	// constructors
	protected TKToken (Foundation.NSObjectFlag t);
	protected TKToken (ObjCRuntime.NativeHandle handle);
	public TKToken (TKTokenDriver tokenDriver, string instanceId);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKTokenConfiguration Configuration { get; }
	public ITKTokenDelegate Delegate { get; set; }
	public virtual TKTokenKeychainContents KeychainContents { get; }
	public virtual TKTokenDriver TokenDriver { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenAuthOperation

public class TKTokenAuthOperation : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenAuthOperation ();
	public TKTokenAuthOperation (Foundation.NSCoder coder);
	protected TKTokenAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual bool Finish (out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenConfiguration

public class TKTokenConfiguration : Foundation.NSObject {
	// constructors
	protected TKTokenConfiguration (Foundation.NSObjectFlag t);
	protected TKTokenConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData ConfigurationData { get; set; }
	public virtual string InstanceId { get; }
	public virtual TKTokenKeychainItem[] KeychainItems { get; set; }
	// methods
	public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error);
	public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenDelegate

public abstract class TKTokenDelegate : Foundation.NSObject, ITKTokenDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected TKTokenDelegate ();
	protected TKTokenDelegate (Foundation.NSObjectFlag t);
	protected TKTokenDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKTokenSession CreateSession (TKToken token, out Foundation.NSError error);
	public virtual void TerminateSession (TKToken token, TKTokenSession session);
}

New Type: CryptoTokenKit.TKTokenDelegate_Extensions

public static class TKTokenDelegate_Extensions {
	// methods
	public static void TerminateSession (this ITKTokenDelegate This, TKToken token, TKTokenSession session);
}

New Type: CryptoTokenKit.TKTokenDriver

public class TKTokenDriver : Foundation.NSObject {
	// constructors
	public TKTokenDriver ();
	protected TKTokenDriver (Foundation.NSObjectFlag t);
	protected TKTokenDriver (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKTokenDriverDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenDriverConfiguration

public class TKTokenDriverConfiguration : Foundation.NSObject {
	// constructors
	protected TKTokenDriverConfiguration (Foundation.NSObjectFlag t);
	protected TKTokenDriverConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string ClassId { get; }
	public static Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenDriverConfiguration> DriverConfigurations { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenConfiguration> TokenConfigurations { get; }
	// methods
	public virtual TKTokenConfiguration AddTokenConfiguration (string instanceId);
	public virtual void RemoveTokenConfiguration (string instanceId);
}

New Type: CryptoTokenKit.TKTokenDriverDelegate

public class TKTokenDriverDelegate : Foundation.NSObject, ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenDriverDelegate ();
	protected TKTokenDriverDelegate (Foundation.NSObjectFlag t);
	protected TKTokenDriverDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKToken GetToken (TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error);
	public virtual void TerminateToken (TKTokenDriver driver, TKToken token);
}

New Type: CryptoTokenKit.TKTokenDriverDelegate_Extensions

public static class TKTokenDriverDelegate_Extensions {
	// methods
	public static TKToken GetToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error);
	public static void TerminateToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKToken token);
}

New Type: CryptoTokenKit.TKTokenKeyAlgorithm

public class TKTokenKeyAlgorithm : Foundation.NSObject {
	// constructors
	protected TKTokenKeyAlgorithm (Foundation.NSObjectFlag t);
	protected TKTokenKeyAlgorithm (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual bool IsAlgorithm (Security.SecKeyAlgorithm algorithm);
	public virtual bool SupportsAlgorithm (Security.SecKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenKeyExchangeParameters

public class TKTokenKeyExchangeParameters : Foundation.NSObject {
	// constructors
	public TKTokenKeyExchangeParameters ();
	protected TKTokenKeyExchangeParameters (Foundation.NSObjectFlag t);
	protected TKTokenKeyExchangeParameters (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr RequestedSize { get; }
	public virtual Foundation.NSData SharedInfo { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainCertificate

public class TKTokenKeychainCertificate : CryptoTokenKit.TKTokenKeychainItem {
	// constructors
	public TKTokenKeychainCertificate ();
	protected TKTokenKeychainCertificate (Foundation.NSObjectFlag t);
	protected TKTokenKeychainCertificate (ObjCRuntime.NativeHandle handle);
	public TKTokenKeychainCertificate (Security.SecKeyAlgorithm certificateRef, Foundation.NSObject objectId);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainContents

public class TKTokenKeychainContents : Foundation.NSObject {
	// constructors
	protected TKTokenKeychainContents (Foundation.NSObjectFlag t);
	protected TKTokenKeychainContents (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKTokenKeychainItem[] Items { get; }
	// methods
	public virtual void Fill (TKTokenKeychainItem[] items);
	public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error);
	public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenKeychainItem

public class TKTokenKeychainItem : Foundation.NSObject {
	// constructors
	public TKTokenKeychainItem (Foundation.NSObject objectId);
	protected TKTokenKeychainItem (Foundation.NSObjectFlag t);
	protected TKTokenKeychainItem (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSNumber,Foundation.NSObject> Constraints { get; set; }
	public virtual string Label { get; set; }
	public virtual Foundation.NSObject ObjectId { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainKey

public class TKTokenKeychainKey : CryptoTokenKit.TKTokenKeychainItem {
	// constructors
	public TKTokenKeychainKey ();
	protected TKTokenKeychainKey (Foundation.NSObjectFlag t);
	protected TKTokenKeychainKey (ObjCRuntime.NativeHandle handle);
	public TKTokenKeychainKey (Security.SecCertificate certificate, Foundation.NSObject objectId);
	public TKTokenKeychainKey (IntPtr certificate, Foundation.NSObject objectId);
	// properties
	public virtual Foundation.NSData ApplicationTag { get; set; }
	public virtual bool CanDecrypt { get; set; }
	public virtual bool CanPerformKeyExchange { get; set; }
	public virtual bool CanSign { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr KeySizeInBits { get; set; }
	public virtual string KeyType { get; set; }
	public virtual Foundation.NSData PublicKeyData { get; set; }
	public virtual Foundation.NSData PublicKeyHash { get; set; }
	public virtual bool SuitableForLogin { get; set; }
}

New Type: CryptoTokenKit.TKTokenOperation

[Serializable]
public enum TKTokenOperation {
	DecryptData = 3,
	None = 0,
	PerformKeyExchange = 4,
	ReadData = 1,
	SignData = 2,
}

New Type: CryptoTokenKit.TKTokenPasswordAuthOperation

public class TKTokenPasswordAuthOperation : CryptoTokenKit.TKTokenAuthOperation {
	// constructors
	public TKTokenPasswordAuthOperation ();
	public TKTokenPasswordAuthOperation (Foundation.NSCoder coder);
	protected TKTokenPasswordAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenPasswordAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Password { get; set; }
}

New Type: CryptoTokenKit.TKTokenSession

public class TKTokenSession : Foundation.NSObject {
	// constructors
	public TKTokenSession (TKToken token);
	protected TKTokenSession (Foundation.NSObjectFlag t);
	protected TKTokenSession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKTokenSessionDelegate Delegate { get; set; }
	public virtual TKToken Token { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenSessionDelegate

public class TKTokenSessionDelegate : Foundation.NSObject, ITKTokenSessionDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenSessionDelegate ();
	protected TKTokenSessionDelegate (Foundation.NSObjectFlag t);
	protected TKTokenSessionDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKTokenAuthOperation BeginAuthentication (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error);
	public virtual Foundation.NSData DecryptData (TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual Foundation.NSData PerformKeyExchange (TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error);
	public virtual Foundation.NSData SignData (TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual bool SupportsOperation (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenSessionDelegate_Extensions

public static class TKTokenSessionDelegate_Extensions {
	// methods
	public static TKTokenAuthOperation BeginAuthentication (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error);
	public static Foundation.NSData DecryptData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public static Foundation.NSData PerformKeyExchange (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error);
	public static Foundation.NSData SignData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public static bool SupportsOperation (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenSmartCardPinAuthOperation

public class TKTokenSmartCardPinAuthOperation : CryptoTokenKit.TKTokenAuthOperation {
	// constructors
	public TKTokenSmartCardPinAuthOperation ();
	public TKTokenSmartCardPinAuthOperation (Foundation.NSCoder coder);
	protected TKTokenSmartCardPinAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenSmartCardPinAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual Foundation.NSData ApduTemplate { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Pin { get; set; }
	public virtual IntPtr PinByteOffset { get; set; }
	public virtual TKSmartCardPinFormat PinFormat { get; set; }
	public virtual TKSmartCard SmartCard { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenWatcher

public class TKTokenWatcher : Foundation.NSObject {
	// constructors
	public TKTokenWatcher ();
	protected TKTokenWatcher (Foundation.NSObjectFlag t);
	protected TKTokenWatcher (ObjCRuntime.NativeHandle handle);
	public TKTokenWatcher (System.Action<Foundation.NSString> insertionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string[] TokenIds { get; }
	// methods
	public virtual void AddRemovalHandler (System.Action<Foundation.NSString> removalHandler, string tokenId);
	public virtual TKTokenWatcherTokenInfo GetTokenInfo (string tokenId);
	public virtual void SetInsertionHandler (System.Action<Foundation.NSString> insertionHandler);
}

New Type: CryptoTokenKit.TKTokenWatcherTokenInfo

public class TKTokenWatcherTokenInfo : Foundation.NSObject {
	// constructors
	protected TKTokenWatcherTokenInfo (Foundation.NSObjectFlag t);
	protected TKTokenWatcherTokenInfo (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string DriverName { get; }
	public virtual string SlotName { get; }
	public virtual string TokenId { get; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment