Xamarin.WatchOS SDK API diff: 13.2.0 vs 13.4.0
mscorlib.dll
Namespace System.Buffers
Type Changed: System.Buffers.ReadOnlySequence`1
Added property:
public System.ReadOnlySpan<T> FirstSpan { get; }
Type Changed: System.Buffers.StandardFormat
Added method:
public static bool TryParse (System.ReadOnlySpan<char> format, out StandardFormat result);
New Type: System.Buffers.ArrayBufferWriter`1
public sealed class ArrayBufferWriter`1 : System.Buffers.IBufferWriter<T> {
// constructors
public ArrayBufferWriter`1 ();
public ArrayBufferWriter`1 (int initialCapacity);
// properties
public int Capacity { get; }
public int FreeCapacity { get; }
public int WrittenCount { get; }
public System.ReadOnlyMemory<T> WrittenMemory { get; }
public System.ReadOnlySpan<T> WrittenSpan { get; }
// methods
public virtual void Advance (int count);
public void Clear ();
public virtual System.Memory<T> GetMemory (int sizeHint);
public virtual System.Span<T> GetSpan (int sizeHint);
}
New Type: System.Buffers.SequenceReaderExtensions
public static class SequenceReaderExtensions {
// methods
public static bool TryReadBigEndian (ref System.Buffers.SequenceReader<byte> reader, out short value);
public static bool TryReadBigEndian (ref System.Buffers.SequenceReader<byte> reader, out int value);
public static bool TryReadBigEndian (ref System.Buffers.SequenceReader<byte> reader, out long value);
public static bool TryReadLittleEndian (ref System.Buffers.SequenceReader<byte> reader, out short value);
public static bool TryReadLittleEndian (ref System.Buffers.SequenceReader<byte> reader, out int value);
public static bool TryReadLittleEndian (ref System.Buffers.SequenceReader<byte> reader, out long value);
}
New Type: System.Buffers.SequenceReader`1
public struct SequenceReader`1 {
// constructors
public SequenceReader`1 (System.Buffers.ReadOnlySequence<T> sequence);
// properties
public long Consumed { get; }
public System.ReadOnlySpan<T> CurrentSpan { get; }
public int CurrentSpanIndex { get; }
public bool End { get; }
public long Length { get; }
public System.SequencePosition Position { get; }
public long Remaining { get; }
public System.Buffers.ReadOnlySequence<T> Sequence { get; }
public System.ReadOnlySpan<T> UnreadSpan { get; }
// methods
public void Advance (long count);
public long AdvancePast (T value);
public long AdvancePastAny (System.ReadOnlySpan<T> values);
public long AdvancePastAny (T value0, T value1);
public long AdvancePastAny (T value0, T value1, T value2);
public long AdvancePastAny (T value0, T value1, T value2, T value3);
public bool IsNext (System.ReadOnlySpan<T> next, bool advancePast);
public bool IsNext (T next, bool advancePast);
public void Rewind (long count);
public bool TryAdvanceTo (T delimiter, bool advancePastDelimiter);
public bool TryAdvanceToAny (System.ReadOnlySpan<T> delimiters, bool advancePastDelimiter);
public bool TryCopyTo (System.Span<T> destination);
public bool TryPeek (out T value);
public bool TryRead (out T value);
public bool TryReadTo (out System.Buffers.ReadOnlySequence<T> sequence, System.ReadOnlySpan<T> delimiter, bool advancePastDelimiter);
public bool TryReadTo (out System.Buffers.ReadOnlySequence<T> sequence, T delimiter, bool advancePastDelimiter);
public bool TryReadTo (out System.ReadOnlySpan<T> span, T delimiter, bool advancePastDelimiter);
public bool TryReadTo (out System.Buffers.ReadOnlySequence<T> sequence, T delimiter, T delimiterEscape, bool advancePastDelimiter);
public bool TryReadTo (out System.ReadOnlySpan<T> span, T delimiter, T delimiterEscape, bool advancePastDelimiter);
public bool TryReadToAny (out System.Buffers.ReadOnlySequence<T> sequence, System.ReadOnlySpan<T> delimiters, bool advancePastDelimiter);
public bool TryReadToAny (out System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> delimiters, bool advancePastDelimiter);
}
Namespace System.Diagnostics.CodeAnalysis
New Type: System.Diagnostics.CodeAnalysis.AllowNullAttribute
public sealed class AllowNullAttribute : System.Attribute {
// constructors
public AllowNullAttribute ();
}
New Type: System.Diagnostics.CodeAnalysis.DisallowNullAttribute
public sealed class DisallowNullAttribute : System.Attribute {
// constructors
public DisallowNullAttribute ();
}
New Type: System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute
public sealed class DoesNotReturnAttribute : System.Attribute {
// constructors
public DoesNotReturnAttribute ();
}
New Type: System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute
public sealed class DoesNotReturnIfAttribute : System.Attribute {
// constructors
public DoesNotReturnIfAttribute (bool parameterValue);
// properties
public bool ParameterValue { get; }
}
New Type: System.Diagnostics.CodeAnalysis.MaybeNullAttribute
public sealed class MaybeNullAttribute : System.Attribute {
// constructors
public MaybeNullAttribute ();
}
New Type: System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute
public sealed class MaybeNullWhenAttribute : System.Attribute {
// constructors
public MaybeNullWhenAttribute (bool returnValue);
// properties
public bool ReturnValue { get; }
}
New Type: System.Diagnostics.CodeAnalysis.NotNullAttribute
public sealed class NotNullAttribute : System.Attribute {
// constructors
public NotNullAttribute ();
}
New Type: System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute
public sealed class NotNullIfNotNullAttribute : System.Attribute {
// constructors
public NotNullIfNotNullAttribute (string parameterName);
// properties
public string ParameterName { get; }
}
New Type: System.Diagnostics.CodeAnalysis.NotNullWhenAttribute
public sealed class NotNullWhenAttribute : System.Attribute {
// constructors
public NotNullWhenAttribute (bool returnValue);
// properties
public bool ReturnValue { get; }
}
Namespace System.Runtime.InteropServices
Type Changed: System.Runtime.InteropServices.SequenceMarshal
Added method:
public static bool TryRead<T> (ref System.Buffers.SequenceReader<byte> reader, out T value);
Xamarin.WatchOS.dll
Namespace AudioToolbox
Type Changed: AudioToolbox.AudioChannelBit
Added values:
CenterTopFront = 8192,
CenterTopMiddle = 2048,
LeftTopFront = 4096,
LeftTopMiddle = 2097152,
RightTopFront = 16384,
Type Changed: AudioToolbox.AudioChannelLabel
Added values:
CenterTopFront = 14,
CenterTopMiddle = 12,
LeftTopFront = 13,
LeftTopMiddle = 49,
RightTopFront = 15,
Namespace Network
Type Changed: Network.NWAdvertiseDescriptor
Added property:
public NWTxtRecord TxtRecord { get; set; }
Type Changed: Network.NWConnection
Added method:
public void GetEstablishmentReport (CoreFoundation.DispatchQueue queue, System.Action<NWEstablishmentReport> handler);
Type Changed: Network.NWEndpoint
Added property:
public string Url { get; }
Added method:
public static NWEndpoint Create (string url);
Type Changed: Network.NWListener
Added property:
public uint ConnectionLimit { get; set; }
Type Changed: Network.NWParameters
Added property:
public bool ProhibitConstrained { get; set; }
Type Changed: Network.NWPath
Added property:
public bool IsConstrained { get; }
Added method:
public void EnumerateGateways (System.Action<NWEndpoint> callback);
Type Changed: Network.NWProtocolDefinition
Added property:
public static NWProtocolDefinition WebSocketDefinition { get; }
Type Changed: Network.NWProtocolMetadata
Added properties:
public bool IsFramerMessage { get; }
public bool IsWebSocket { get; }
Type Changed: Network.NWProtocolOptions
Added property:
public NWIPLocalAddressPreference IPLocalAddressPreference { set; }
New Type: Network.NWBrowseResult
public class NWBrowseResult : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// properties
public NWEndpoint EndPoint { get; }
public nuint InterfacesCount { get; }
public NWTxtRecord TxtRecord { get; }
// methods
public void EnumerateInterfaces (System.Action<NWInterface> handler);
public static NWBrowseResultChange GetChanges (NWBrowseResult oldResult, NWBrowseResult newResult);
}
New Type: Network.NWBrowseResultChange
[Serializable]
[Flags]
public enum NWBrowseResultChange {
Identical = 1,
InterfaceAdded = 8,
InterfaceRemoved = 16,
Invalid = 0,
ResultAdded = 2,
ResultRemoved = 4,
TxtRecordChanged = 32,
}
New Type: Network.NWBrowser
public class NWBrowser : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// constructors
public NWBrowser (NWBrowserDescriptor descriptor);
public NWBrowser (NWBrowserDescriptor descriptor, NWParameters parameters);
// properties
public NWBrowserDescriptor Descriptor { get; }
public bool IsActive { get; }
public NWParameters Parameters { get; }
// methods
public void Cancel ();
public void SetChangesHandler (System.Action<NWBrowseResult,Network.NWBrowseResult> handler);
public void SetDispatchQueue (CoreFoundation.DispatchQueue queue);
public void SetStateChangesHandler (System.Action<NWBrowserState,Network.NWError> handler);
public void Start ();
}
New Type: Network.NWBrowserDescriptor
public class NWBrowserDescriptor : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// properties
public string BonjourDomain { get; }
public string BonjourType { get; }
public bool IncludeTxtRecord { get; set; }
// methods
public static NWBrowserDescriptor CreateBonjourService (string type);
public static NWBrowserDescriptor CreateBonjourService (string type, string domain);
}
New Type: Network.NWBrowserState
[Serializable]
public enum NWBrowserState {
Cancelled = 3,
Failed = 2,
Invalid = 0,
Ready = 1,
}
New Type: Network.NWDataTransferReport
public class NWDataTransferReport : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// constructors
public NWDataTransferReport (NWConnection connection);
// properties
public System.TimeSpan Duration { get; }
public uint PathCount { get; }
public NWDataTransferReportState State { get; }
// methods
public void Collect (CoreFoundation.DispatchQueue queue, System.Action<NWDataTransferReport> handler);
public ulong GetApplicationReceivedByteCount (uint pathIndex);
public ulong GetApplicationSentByteCount (uint pathIndex);
public NWInterface GetInterface (uint pathIndex);
public System.TimeSpan GetTransportMinimumRoundTripTime (uint pathIndex);
public ulong GetTransportReceivedByteCount (uint pathIndex);
public ulong GetTransportReceivedDuplicateByteCount (uint pathIndex);
public ulong GetTransportReceivedIPPackageCount (uint pathIndex);
public ulong GetTransportReceivedOutOfOrderByteCount (uint pathIndex);
public ulong GetTransportRetransmittedByteCount (uint pathIndex);
public ulong GetTransportRoundTripTimeVariance (uint pathIndex);
public ulong GetTransportSentByteCount (uint pathIndex);
public ulong GetTransportSentIPPackageCount (uint pathIndex);
public System.TimeSpan GetTransportSmoothedRoundTripTime (uint pathIndex);
}
New Type: Network.NWDataTransferReportState
[Serializable]
public enum NWDataTransferReportState {
Collected = 2,
Collecting = 1,
}
New Type: Network.NWEstablishmentReport
public class NWEstablishmentReport : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// properties
public System.TimeSpan ConnectionSetupTime { get; }
public System.TimeSpan Duration { get; }
public uint PreviousAttemptCount { get; }
public bool ProxyConfigured { get; }
public NWEndpoint ProxyEndpoint { get; }
public bool UsedProxy { get; }
// methods
public void EnumerateProtocols (System.Action<NWProtocolDefinition,System.TimeSpan,System.TimeSpan> handler);
public void EnumerateResolutions (System.Action<NWReportResolutionSource,System.TimeSpan,System.Int32,Network.NWEndpoint,Network.NWEndpoint> handler);
}
New Type: Network.NWFramer
public class NWFramer : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
}
New Type: Network.NWIPLocalAddressPreference
[Serializable]
public enum NWIPLocalAddressPreference {
Default = 0,
Stable = 2,
Temporary = 1,
}
New Type: Network.NWReportResolutionSource
[Serializable]
public enum NWReportResolutionSource {
Cache = 2,
ExpiredCache = 3,
Query = 1,
}
New Type: Network.NWTxtRecord
public class NWTxtRecord : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// properties
public bool IsDictionary { get; }
public long KeyCount { get; }
// methods
public bool Add (string key);
public bool Add (string key, System.ReadOnlySpan<byte> value);
public bool Add (string key, string value);
public bool Apply (NWTxtRecord.NWTxtRecordApplyDelegate handler);
public NWTxtRecord Clone ();
public static NWTxtRecord CreateDictionary ();
public bool Equals (NWTxtRecord other);
public NWTxtRecordFindKey FindKey (string key);
public static NWTxtRecord FromBytes (System.ReadOnlySpan<byte> bytes);
public bool GetRawBytes (NWTxtRecord.NWTxtRecordGetRawByteDelegate handler);
public bool GetValue (string key, NWTxtRecord.NWTxtRecordGetValueDelegete handler);
public bool Remove (string key);
// inner types
public sealed delegate NWTxtRecordApplyDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public NWTxtRecord.NWTxtRecordApplyDelegate (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (string key, NWTxtRecordFindKey rersult, System.ReadOnlySpan<byte> value, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (string key, NWTxtRecordFindKey rersult, System.ReadOnlySpan<byte> value);
}
public sealed delegate NWTxtRecordGetRawByteDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public NWTxtRecord.NWTxtRecordGetRawByteDelegate (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (System.ReadOnlySpan<byte> value, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (System.ReadOnlySpan<byte> value);
}
public sealed delegate NWTxtRecordGetValueDelegete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public NWTxtRecord.NWTxtRecordGetValueDelegete (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (string key, NWTxtRecordFindKey result, System.ReadOnlySpan<byte> value, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (string key, NWTxtRecordFindKey result, System.ReadOnlySpan<byte> value);
}
}
New Type: Network.NWTxtRecordFindKey
[Serializable]
public enum NWTxtRecordFindKey {
EmptyValue = 3,
Invalid = 0,
NoValue = 2,
NonEmptyValue = 4,
NotPresent = 1,
}
New Type: Network.NWWebSocketCloseCode
[Serializable]
public enum NWWebSocketCloseCode {
AbnormalClosure = 1006,
GoingAway = 1001,
InternalServerError = 1011,
InvalidFramePayloadData = 1007,
MandatoryExtension = 1010,
MessageTooBig = 1009,
NoStatusReceived = 1005,
NormalClosure = 1000,
PolicyViolation = 1008,
ProtocolError = 1002,
TlsHandshake = 1015,
UnsupportedData = 1003,
}
New Type: Network.NWWebSocketMetadata
public class NWWebSocketMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// constructors
public NWWebSocketMetadata (NWWebSocketOpCode opcode);
// properties
public NWWebSocketCloseCode CloseCode { get; set; }
public NWWebSocketOpCode OpCode { get; }
public NWWebSocketResponse ServerResponse { get; }
// methods
public void SetPongHandler (CoreFoundation.DispatchQueue queue, System.Action<NWError> handler);
}
New Type: Network.NWWebSocketOpCode
[Serializable]
public enum NWWebSocketOpCode {
Binary = 2,
Close = 8,
Cont = 0,
Invalid = -1,
Ping = 9,
Pong = 10,
Text = 1,
}
New Type: Network.NWWebSocketOptions
public class NWWebSocketOptions : Network.NWProtocolOptions, ObjCRuntime.INativeObject, System.IDisposable {
// constructors
public NWWebSocketOptions (NWWebSocketVersion version);
// properties
public bool AutoReplyPing { get; set; }
public nuint MaximumMessageSize { get; set; }
public bool SkipHandShake { get; set; }
// methods
public void AddSubprotocol (string subprotocol);
public void SetClientRequestHandler (CoreFoundation.DispatchQueue queue, System.Action<NWWebSocketRequest> handler);
public void SetHeader (string header, string value);
}
New Type: Network.NWWebSocketRequest
public class NWWebSocketRequest : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// methods
public void EnumerateAdditionalHeaders (System.Action<System.String,System.String> handler);
public void EnumerateSubprotocols (System.Action<string> handler);
}
New Type: Network.NWWebSocketResponse
public class NWWebSocketResponse : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
// constructors
public NWWebSocketResponse (NWWebSocketResponseStatus status, string subprotocol);
// properties
public string SelectedSubprotocol { get; }
public NWWebSocketResponseStatus Status { get; }
// methods
public bool EnumerateAdditionalHeaders (System.Action<System.String,System.String> handler);
public void SetHeader (string header, string value);
}
New Type: Network.NWWebSocketResponseStatus
[Serializable]
public enum NWWebSocketResponseStatus {
Accept = 1,
Invalid = 0,
Reject = 2,
}
New Type: Network.NWWebSocketVersion
[Serializable]
public enum NWWebSocketVersion {
Invalid = 0,
Version13 = 1,
}
Namespace ObjCRuntime
Type Changed: ObjCRuntime.Constants
Modified fields:
-public const string Version = "13.2.0";
+public const string Version = "13.4.0";
Namespace SceneKit
Type Changed: SceneKit.SCNCamera
Added properties:
public virtual nint BloomIterationCount { get; set; }
public virtual nfloat BloomIterationSpread { get; set; }
public virtual nfloat GrainIntensity { get; set; }
public virtual bool GrainIsColored { get; set; }
public virtual nfloat GrainScale { get; set; }
public virtual nfloat WhiteBalanceTemperature { get; set; }
public virtual nfloat WhiteBalanceTint { get; set; }
Added method:
public virtual SCNMatrix4 GetProjectionTransform (CoreGraphics.CGSize viewportSize);
Type Changed: SceneKit.SCNHitTest
Added property:
public static Foundation.NSString IgnoreLightAreaKey { get; }
Type Changed: SceneKit.SCNHitTestOptions
Added property:
public bool? IgnoreLightArea { get; set; }
Type Changed: SceneKit.SCNLight
Added properties:
public virtual OpenTK.NVector3 AreaExtents { get; set; }
public virtual Foundation.NSValue[] AreaPolygonVertices { get; set; }
public virtual SCNLightAreaType AreaType { get; set; }
public virtual bool DoubleSided { get; set; }
public virtual bool DrawsArea { get; set; }
public virtual OpenTK.NVector3 ParallaxCenterOffset { get; set; }
public virtual bool ParallaxCorrectionEnabled { get; set; }
public virtual OpenTK.NVector3 ParallaxExtentsFactor { get; set; }
public virtual SCNMaterialProperty ProbeEnvironment { get; }
public virtual OpenTK.NVector3 ProbeExtents { get; set; }
public virtual OpenTK.NVector3 ProbeOffset { get; set; }
public virtual SCNLightProbeType ProbeType { get; set; }
public virtual SCNLightProbeUpdateType ProbeUpdateType { get; set; }
Type Changed: SceneKit.SCNLightType
Added property:
public static Foundation.NSString Area { get; }
Type Changed: SceneKit.SCNLightingModel
Added property:
public static Foundation.NSString ShadowOnly { get; }
Type Changed: SceneKit.SCNMaterial
Added properties:
public virtual SCNMaterialProperty ClearCoat { get; }
public virtual SCNMaterialProperty ClearCoatNormal { get; }
public virtual SCNMaterialProperty ClearCoatRoughness { get; }
Type Changed: SceneKit.SCNScene
Added properties:
public virtual nfloat ScreenSpaceReflectionMaximumDistance { get; set; }
public virtual nint ScreenSpaceReflectionSampleCount { get; set; }
public virtual nfloat ScreenSpaceReflectionStride { get; set; }
public virtual bool WantsScreenSpaceReflection { get; set; }
Type Changed: SceneKit.SCNSceneRenderer
Added properties:
public virtual CoreGraphics.CGRect CurrentViewport { get; }
public virtual bool TemporalAntialiasingEnabled { get; set; }
public virtual bool UsesReverseZ { get; set; }
Type Changed: SceneKit.SCNSceneRenderer_Extensions
Added methods:
public static CoreGraphics.CGRect GetCurrentViewport (this ISCNSceneRenderer This);
public static bool GetTemporalAntialiasingEnabled (this ISCNSceneRenderer This);
public static bool GetUsesReverseZ (this ISCNSceneRenderer This);
public static void SetTemporalAntialiasingEnabled (this ISCNSceneRenderer This, bool value);
public static void SetUsesReverseZ (this ISCNSceneRenderer This, bool value);
New Type: SceneKit.SCNLightAreaType
[Serializable]
public enum SCNLightAreaType {
Polygon = 4,
Rectangle = 1,
}
New Type: SceneKit.SCNLightProbeType
[Serializable]
public enum SCNLightProbeType {
Irradiance = 0,
Radiance = 1,
}
New Type: SceneKit.SCNLightProbeUpdateType
[Serializable]
public enum SCNLightProbeUpdateType {
Never = 0,
Realtime = 1,
}
Namespace WatchKit
Type Changed: WatchKit.WKInterfaceSCNScene
Added properties:
public virtual CoreGraphics.CGRect CurrentViewport { get; }
public virtual bool TemporalAntialiasingEnabled { get; set; }
public virtual bool UsesReverseZ { get; set; }