@@ -700,6 +700,10 @@ interface NEDnsSettings : NSSecureCoding, NSCopying {
700700 [ Notification ]
701701 [ Field ( "NEDNSSettingsConfigurationDidChangeNotification" ) ]
702702 NSString ConfigurationDidChangeNotification { get ; }
703+
704+ [ TV ( 26 , 0 ) , MacCatalyst ( 26 , 0 ) , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
705+ [ Export ( "allowFailover" ) ]
706+ bool AllowFailover { get ; set ; }
703707 }
704708
705709 /// <summary>Provides filter flow control information to a <see cref="NetworkExtension.NEFilterDataProvider" />.</summary>
@@ -1408,6 +1412,8 @@ interface NEFlowMetaData : NSCopying, NSSecureCoding {
14081412 [ NoMac ]
14091413 [ MacCatalyst ( 13 , 1 ) ]
14101414 [ BaseType ( typeof ( NSObject ) ) ]
1415+ [ Deprecated ( PlatformName . iOS , 26 , 0 , message : "Use 'NEHotspotManager' instead." ) ] // NEHotspotManager is swift only :/
1416+ [ Deprecated ( PlatformName . MacCatalyst , 26 , 0 , message : "Use 'NEHotspotManager' instead." ) ] // NEHotspotManager is swift only :/
14111417 interface NEHotspotHelper {
14121418 [ Static ]
14131419 [ Internal ]
@@ -1553,7 +1559,9 @@ interface NEHotspotHelperResponse {
15531559 void SetNetworkList ( NEHotspotNetwork [ ] networkList ) ;
15541560
15551561 /// <summary>Delivers the response.</summary>
1556- /// <remarks>To be added.</remarks>
1562+ // deprecated, but the replacment API is Swift-only :/
1563+ [ Deprecated ( PlatformName . iOS , 26 , 0 , message : "Use 'NEHotspotEvaluationProvider.HandleCommand' or 'NEHotspotAuthenticationProvider.HandleCommand' instead." ) ]
1564+ [ Deprecated ( PlatformName . MacCatalyst , 26 , 0 , message : "Use 'NEHotspotEvaluationProvider.HandleCommand' or 'NEHotspotAuthenticationProvider.HandleCommand' instead." ) ]
15571565 [ Export ( "deliver" ) ]
15581566 void Deliver ( ) ;
15591567 }
@@ -2604,7 +2612,11 @@ interface NEVpnProtocolIpSec {
26042612 /// <related type="externalDocumentation" href="https://developer.apple.com/library/ios/documentation/NetworkExtension/Reference/NEVPNIKEv2SecurityAssociationParametersClassRef/index.html">Apple documentation for <c>NEVPNIKEv2SecurityAssociationParameters</c></related>
26052613 [ MacCatalyst ( 13 , 1 ) ]
26062614 [ BaseType ( typeof ( NSObject ) , Name = "NEVPNIKEv2SecurityAssociationParameters" ) ]
2615+ #if XAMCORE_5_0
2616+ interface NEVpnIkev2SecurityAssociationParameters : NSSecureCoding , NSCopying {
2617+ #else
26072618 interface NEVpnIke2SecurityAssociationParameters : NSSecureCoding , NSCopying {
2619+ #endif
26082620
26092621 /// <summary>Gets or sets the encryption algorithm for the Security Association.</summary>
26102622 /// <value>To be added.</value>
@@ -2629,14 +2641,23 @@ interface NEVpnIke2SecurityAssociationParameters : NSSecureCoding, NSCopying {
26292641 /// <remarks>To be added.</remarks>
26302642 [ Export ( "lifetimeMinutes" ) ]
26312643 int LifetimeMinutes { get ; set ; } /* int32_t */
2644+
2645+ [ TV ( 26 , 0 ) , MacCatalyst ( 26 , 0 ) , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
2646+ [ Export ( "postQuantumKeyExchangeMethods" , ArgumentSemantic . Copy ) ]
2647+ [ BindAs ( typeof ( NEVpnIkev2PostQuantumKeyExchangeMethod [ ] ) ) ]
2648+ NSNumber [ ] PostQuantumKeyExchangeMethods { get ; set ; }
26322649 }
26332650
26342651 /// <summary>IKEv2 protocol information for VPN connections</summary>
26352652 /// <remarks>To be added.</remarks>
26362653 /// <related type="externalDocumentation" href="https://developer.apple.com/library/ios/documentation/NetworkExtension/Reference/NEVPNProtocolIKEv2ClassRef/index.html">Apple documentation for <c>NEVPNProtocolIKEv2</c></related>
26372654 [ MacCatalyst ( 13 , 1 ) ]
26382655 [ BaseType ( typeof ( NEVpnProtocolIpSec ) , Name = "NEVPNProtocolIKEv2" ) ]
2656+ #if XAMCORE_5_0
2657+ interface NEVpnProtocolIkev2 {
2658+ #else
26392659 interface NEVpnProtocolIke2 {
2660+ #endif
26402661
26412662 /// <summary>Gets or sets the rate at which the IKEv2 client will attempt to detect dead peers.</summary>
26422663 /// <value>To be added.</value>
@@ -2753,6 +2774,10 @@ interface NEVpnProtocolIke2 {
27532774 [ TV ( 18 , 0 ) , Mac ( 15 , 0 ) , iOS ( 18 , 0 ) , MacCatalyst ( 18 , 0 ) ]
27542775 [ Export ( "ppkConfiguration" , ArgumentSemantic . Copy ) , NullAllowed ]
27552776 NEVpnIkev2PpkConfiguration PpkConfiguration { get ; set ; }
2777+
2778+ [ TV ( 26 , 0 ) , MacCatalyst ( 26 , 0 ) , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
2779+ [ Export ( "allowPostQuantumKeyExchangeFallback" ) ]
2780+ bool AllowPostQuantumKeyExchangeFallback { get ; set ; }
27562781 }
27572782
27582783 /// <summary>Subclasses define rules for automatic connection to VPNs.</summary>
@@ -4663,6 +4688,10 @@ interface NEAppPushManager {
46634688 [ NoTV , NoMac , iOS ( 15 , 0 ) , MacCatalyst ( 15 , 0 ) ]
46644689 [ Export ( "matchPrivateLTENetworks" , ArgumentSemantic . Copy ) ]
46654690 NEPrivateLteNetwork [ ] MatchPrivateLteNetworks { get ; set ; }
4691+
4692+ [ MacCatalyst ( 26 , 0 ) , NoTV , NoMac , iOS ( 26 , 0 ) ]
4693+ [ Export ( "matchEthernet" ) ]
4694+ bool MatchEthernet { get ; set ; }
46664695 }
46674696
46684697 [ NoTV , NoMac , iOS ( 14 , 0 ) ]
@@ -4697,6 +4726,10 @@ interface NEAppPushProvider {
46974726 [ NoTV , NoMac , iOS ( 15 , 0 ) , MacCatalyst ( 15 , 0 ) ]
46984727 [ Export ( "start" ) ]
46994728 void Start ( ) ;
4729+
4730+ [ MacCatalyst ( 26 , 0 ) , NoTV , NoMac , iOS ( 26 , 0 ) ]
4731+ [ Export ( "unmatchEthernet" ) ]
4732+ void UnmatchEthernet ( ) ;
47004733 }
47014734
47024735 [ iOS ( 14 , 0 ) , TV ( 17 , 0 ) ]
@@ -4913,6 +4946,10 @@ interface NERelayManager {
49134946 [ Export ( "UIToggleEnabled" ) ]
49144947 [ TV ( 18 , 4 ) , Mac ( 15 , 4 ) , iOS ( 18 , 4 ) , MacCatalyst ( 18 , 4 ) ]
49154948 bool UIToggleEnabled { [ Bind ( "isUIToggleEnabled" ) ] get ; set ; }
4949+
4950+ [ TV ( 26 , 0 ) , MacCatalyst ( 26 , 0 ) , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
4951+ [ Export ( "allowDNSFailover" ) ]
4952+ bool AllowDNSFailover { [ Bind ( "isDNSFailoverAllowed" ) ] get ; set ; }
49164953 }
49174954
49184955 [ TV ( 18 , 0 ) , Mac ( 15 , 0 ) , iOS ( 18 , 0 ) , MacCatalyst ( 18 , 0 ) ]
@@ -4946,4 +4983,33 @@ interface NEVpnIkev2PpkConfiguration : NSCopying {
49464983 [ Export ( "isMandatory" ) ]
49474984 bool IsMandatory { get ; set ; }
49484985 }
4986+
4987+
4988+ [ MacCatalyst ( 26 , 0 ) , NoTV , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
4989+ [ Native ]
4990+ [ NativeName ( "NEURLFilterVerdict" ) ]
4991+ public enum NEUrlFilterVerdict : long {
4992+ Unknown = 1 ,
4993+ Allow = 2 ,
4994+ Deny = 3 ,
4995+ }
4996+
4997+ [ MacCatalyst ( 26 , 0 ) , NoTV , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
4998+ [ BaseType ( typeof ( NSObject ) , Name = "NEURLFilter" ) ]
4999+ [ DisableDefaultCtor ]
5000+ interface NEUrlFilter {
5001+ [ Async ]
5002+ [ Static ]
5003+ [ Export ( "verdictForURL:completionHandler:" ) ]
5004+ void GetVerdict ( NSUrl url , Action < NEUrlFilterVerdict > completionHandler ) ;
5005+ }
5006+
5007+ [ MacCatalyst ( 26 , 0 ) , TV ( 26 , 0 ) , Mac ( 26 , 0 ) , iOS ( 26 , 0 ) ]
5008+ [ Native ]
5009+ [ NativeName ( "NEVPNIKEv2PostQuantumKeyExchangeMethod" ) ]
5010+ public enum NEVpnIkev2PostQuantumKeyExchangeMethod : long {
5011+ None = 0 ,
5012+ Method36 = 36 ,
5013+ Method37 = 37
5014+ }
49495015}
0 commit comments