@@ -159,6 +159,7 @@ typedef NS_ENUM(NSUInteger, FWFWKNavigationType) {
159
159
@class FWFNSErrorData;
160
160
@class FWFWKScriptMessageData;
161
161
@class FWFNSHttpCookieData;
162
+ @class FWFObjectOrIdentifier;
162
163
163
164
@interface FWFNSKeyValueObservingOptionsEnumData : NSObject
164
165
// / `init` unavailable to enforce nonnull fields, see the `make` class method.
@@ -300,6 +301,19 @@ typedef NS_ENUM(NSUInteger, FWFWKNavigationType) {
300
301
@property (nonatomic , strong ) NSArray <id> *propertyValues;
301
302
@end
302
303
304
+ // / An object that can represent either a value supported by
305
+ // / `StandardMessageCodec`, a data class in this pigeon file, or an identifier
306
+ // / of an object stored in an `InstanceManager`.
307
+ @interface FWFObjectOrIdentifier : NSObject
308
+ // / `init` unavailable to enforce nonnull fields, see the `make` class method.
309
+ - (instancetype )init NS_UNAVAILABLE;
310
+ + (instancetype )makeWithValue : (id )value isIdentifier : (NSNumber *)isIdentifier ;
311
+ @property (nonatomic , strong ) id value;
312
+ // / Whether value is an int that is used to retrieve an instance stored in an
313
+ // / `InstanceManager`.
314
+ @property (nonatomic , strong ) NSNumber *isIdentifier;
315
+ @end
316
+
303
317
// / The codec used by FWFWKWebsiteDataStoreHostApi.
304
318
NSObject <FlutterMessageCodec> *FWFWKWebsiteDataStoreHostApiGetCodec (void );
305
319
@@ -583,7 +597,7 @@ NSObject<FlutterMessageCodec> *FWFNSObjectFlutterApiGetCodec(void);
583
597
keyPath : (NSString *)keyPath
584
598
objectIdentifier : (NSNumber *)objectIdentifier
585
599
changeKeys : (NSArray <FWFNSKeyValueChangeKeyEnumData *> *)changeKeys
586
- changeValues : (NSArray <id > *)changeValues
600
+ changeValues : (NSArray <FWFObjectOrIdentifier * > *)changeValues
587
601
completion : (void (^)(FlutterError *_Nullable))completion ;
588
602
- (void )disposeObjectWithIdentifier : (NSNumber *)identifier
589
603
completion : (void (^)(FlutterError *_Nullable))completion ;
@@ -702,4 +716,39 @@ NSObject<FlutterMessageCodec> *FWFWKHttpCookieStoreHostApiGetCodec(void);
702
716
extern void FWFWKHttpCookieStoreHostApiSetup (id <FlutterBinaryMessenger> binaryMessenger,
703
717
NSObject <FWFWKHttpCookieStoreHostApi> *_Nullable api);
704
718
719
+ // / The codec used by FWFNSUrlHostApi.
720
+ NSObject <FlutterMessageCodec> *FWFNSUrlHostApiGetCodec (void );
721
+
722
+ // / Host API for `NSUrl`.
723
+ // /
724
+ // / This class may handle instantiating and adding native object instances that
725
+ // / are attached to a Dart instance or method calls on the associated native
726
+ // / class or an instance of the class.
727
+ // /
728
+ // / See https://developer.apple.com/documentation/foundation/nsurl?language=objc.
729
+ @protocol FWFNSUrlHostApi
730
+ - (nullable NSString *)absoluteStringForNSURLWithIdentifier : (NSNumber *)identifier
731
+ error :
732
+ (FlutterError *_Nullable *_Nonnull)error ;
733
+ @end
734
+
735
+ extern void FWFNSUrlHostApiSetup (id <FlutterBinaryMessenger> binaryMessenger,
736
+ NSObject <FWFNSUrlHostApi> *_Nullable api);
737
+
738
+ // / The codec used by FWFNSUrlFlutterApi.
739
+ NSObject <FlutterMessageCodec> *FWFNSUrlFlutterApiGetCodec (void );
740
+
741
+ // / Flutter API for `NSUrl`.
742
+ // /
743
+ // / This class may handle instantiating and adding Dart instances that are
744
+ // / attached to a native instance or receiving callback methods from an
745
+ // / overridden native class.
746
+ // /
747
+ // / See https://developer.apple.com/documentation/foundation/nsurl?language=objc.
748
+ @interface FWFNSUrlFlutterApi : NSObject
749
+ - (instancetype )initWithBinaryMessenger : (id <FlutterBinaryMessenger>)binaryMessenger ;
750
+ - (void )createWithIdentifier : (NSNumber *)identifier
751
+ completion : (void (^)(FlutterError *_Nullable))completion ;
752
+ @end
753
+
705
754
NS_ASSUME_NONNULL_END
0 commit comments