1010using ObjCRuntime ;
1111using Foundation ;
1212using CoreFoundation ;
13+ using CoreGraphics ;
1314using System ;
1415using System . Numerics ;
1516#if __MACCATALYST__ || ! IOS
@@ -173,6 +174,10 @@ interface NISessionDelegate {
173174 [ NoTV , NoMac , iOS ( 16 , 0 ) , MacCatalyst ( 16 , 0 ) ]
174175 [ Export ( "sessionDidStartRunning:" ) ]
175176 void DidSessionStartRunning ( NISession session ) ;
177+
178+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
179+ [ Export ( "session:didUpdateDLTDOAMeasurements:" ) ]
180+ void DidUpdateDlTdoaMeasurements ( NISession session , NIDlTdoaMeasurement [ ] measurements ) ;
176181 }
177182
178183 [ NoTV , NoMac , iOS ( 15 , 0 ) , MacCatalyst ( 15 , 0 ) ]
@@ -230,6 +235,11 @@ interface NIDeviceCapability {
230235 [ Abstract ( GenerateExtensionMethod = true ) ]
231236 [ Export ( "supportsExtendedDistanceMeasurement" ) ]
232237 bool SupportsExtendedDistanceMeasurement { get ; }
238+
239+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
240+ [ Abstract ]
241+ [ Export ( "supportsDLTDOAMeasurement" ) ]
242+ bool SupportsDlTdoaMeasurement { get ; }
233243 }
234244
235245 [ NoTV , NoMac , iOS ( 16 , 0 ) , MacCatalyst ( 16 , 0 ) ]
@@ -242,4 +252,69 @@ interface NIAlgorithmConvergence : NSCopying, NSSecureCoding {
242252 [ Export ( "reasons" ) ]
243253 string [ ] Reasons { get ; }
244254 }
255+
256+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
257+ [ BaseType ( typeof ( NIConfiguration ) , Name = "NIDLTDOAConfiguration" ) ]
258+ [ DisableDefaultCtor ]
259+ // DLTDOA = Down Link Time Difference of Arrival(DL-TDoA)
260+ interface NIDlTdoaConfiguration {
261+ [ Export ( "networkIdentifier" ) ]
262+ nint NetworkIdentifier { get ; set ; }
263+
264+ [ Export ( "initWithNetworkIdentifier:" ) ]
265+ NativeHandle Constructor ( nint networkIdentifier ) ;
266+ }
267+
268+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
269+ [ Native ]
270+ [ NativeName ( "NIDLTDOACoordinatesType" ) ]
271+ // DLTDOA = Down Link Time Difference of Arrival(DL-TDoA)
272+ public enum NIDlTdoaCoordinatesType : long {
273+ Geodetic = 0 ,
274+ Relative = 1 ,
275+ }
276+
277+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
278+ [ Native ]
279+ [ NativeName ( "NIDLTDOAMeasurementType" ) ]
280+ // DLTDOA = Down Link Time Difference of Arrival(DL-TDoA)
281+ public enum NIDlTdoaMeasurementType : long {
282+ Poll = 0 ,
283+ Response = 1 ,
284+ Final = 2 ,
285+ }
286+
287+ [ NoTV , NoMacCatalyst , NoMac , iOS ( 26 , 0 ) ]
288+ [ BaseType ( typeof ( NSObject ) , Name = "NIDLTDOAMeasurement" ) ]
289+ [ DisableDefaultCtor ]
290+ // DLTDOA = Down Link Time Difference of Arrival(DL-TDoA)
291+ interface NIDlTdoaMeasurement : NSCopying , NSSecureCoding {
292+ [ Export ( "address" ) ]
293+ nuint Address { get ; }
294+
295+ [ Export ( "measurementType" , ArgumentSemantic . Assign ) ]
296+ NIDlTdoaMeasurementType MeasurementType { get ; }
297+
298+ [ Export ( "transmitTime" ) ]
299+ double TransmitTime { get ; }
300+
301+ [ Export ( "receiveTime" ) ]
302+ double ReceiveTime { get ; }
303+
304+ [ Export ( "signalStrength" ) ]
305+ double SignalStrength { get ; }
306+
307+ [ Export ( "carrierFrequencyOffset" ) ]
308+ double CarrierFrequencyOffset { get ; }
309+
310+ [ Export ( "coordinatesType" , ArgumentSemantic . Assign ) ]
311+ NIDlTdoaCoordinatesType CoordinatesType { get ; }
312+
313+ [ Export ( "coordinates" , ArgumentSemantic . Assign ) ]
314+ NVector3d Coordinates {
315+ [ MarshalDirective ( NativePrefix = "xamarin_simd__" , Library = "__Internal" ) ]
316+ get ;
317+ }
318+ }
319+
245320}
0 commit comments