Skip to content

Commit

Permalink
[Foundation] NSItemProvider is available on all platforms. (#17295)
Browse files Browse the repository at this point in the history
  • Loading branch information
rolfbjarne authored Jan 20, 2023
1 parent 9016b22 commit 4b7d672
Showing 1 changed file with 20 additions and 26 deletions.
46 changes: 20 additions & 26 deletions src/Foundation/NSItemProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
using ObjCRuntime;

namespace Foundation {
#if MONOMAC || IOS
public partial class NSItemProvider
{
public partial class NSItemProvider {
#if !NET && MONOMAC
[Obsolete ("Use RegisterCloudKitShare (CloudKitRegistrationPreparationAction) instead.")]
public virtual void RegisterCloudKitShare (Action<CloudKitRegistrationPreparationHandler> preparationHandler)
Expand All @@ -15,7 +13,7 @@ public virtual void RegisterCloudKitShare (Action<CloudKitRegistrationPreparatio
RegisterCloudKitShare (action);
}
#endif

#if MONOMAC
public virtual Task<CloudKitRegistrationPreparationHandler> RegisterCloudKitShareAsync ()
{
Expand All @@ -34,15 +32,14 @@ public virtual Task<CloudKitRegistrationPreparationHandler> RegisterCloudKitShar
[SupportedOSPlatform ("ios11.0")]
[SupportedOSPlatform ("maccatalyst")]
#else
[Watch (4,0)]
[TV (11,0)]
[Mac (10,13)]
[iOS (11,0)]
[Watch (4, 0)]
[TV (11, 0)]
[Mac (10, 13)]
[iOS (11, 0)]
#endif
public NSProgress LoadObject<T> (Action<T, NSError> completionHandler) where T: NSObject, INSItemProviderReading
public NSProgress LoadObject<T> (Action<T, NSError> completionHandler) where T : NSObject, INSItemProviderReading
{
return LoadObject (new Class (typeof (T)), (rv, err) =>
{
return LoadObject (new Class (typeof (T)), (rv, err) => {
var obj = rv as T;
if (obj == null && rv != null)
obj = Runtime.ConstructNSObject<T> (rv.Handle);
Expand All @@ -56,16 +53,15 @@ public NSProgress LoadObject<T> (Action<T, NSError> completionHandler) where T:
[SupportedOSPlatform ("ios11.0")]
[SupportedOSPlatform ("maccatalyst")]
#else
[Watch (4,0)]
[TV (11,0)]
[Mac (10,13)]
[iOS (11,0)]
[Watch (4, 0)]
[TV (11, 0)]
[Mac (10, 13)]
[iOS (11, 0)]
#endif
public Task<T> LoadObjectAsync<T> () where T: NSObject, INSItemProviderReading
public Task<T> LoadObjectAsync<T> () where T : NSObject, INSItemProviderReading
{
var rv = LoadObjectAsync (new Class (typeof (T)));
return rv.ContinueWith ((v) =>
{
return rv.ContinueWith ((v) => {
var obj = v.Result as T;
if (obj == null && v.Result != null)
obj = Runtime.ConstructNSObject<T> (v.Result.Handle);
Expand All @@ -79,22 +75,20 @@ public Task<T> LoadObjectAsync<T> () where T: NSObject, INSItemProviderReading
[SupportedOSPlatform ("ios11.0")]
[SupportedOSPlatform ("maccatalyst")]
#else
[Watch (4,0)]
[TV (11,0)]
[Mac (10,13)]
[iOS (11,0)]
[Watch (4, 0)]
[TV (11, 0)]
[Mac (10, 13)]
[iOS (11, 0)]
#endif
public Task<T> LoadObjectAsync<T> (out NSProgress result) where T: NSObject, INSItemProviderReading
public Task<T> LoadObjectAsync<T> (out NSProgress result) where T : NSObject, INSItemProviderReading
{
var rv = LoadObjectAsync (new Class (typeof (T)), out result);
return rv.ContinueWith ((v) =>
{
return rv.ContinueWith ((v) => {
var obj = v.Result as T;
if (obj == null && v.Result != null)
obj = Runtime.ConstructNSObject<T> (v.Result.Handle);
return obj;
});
}
}
#endif // MONOMAC || IOS
}

4 comments on commit 4b7d672

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

Please sign in to comment.