Skip to content

Commit

Permalink
[SharedWithYouCore] Add new framework for xcode14.
Browse files Browse the repository at this point in the history
  • Loading branch information
mandel-macaque committed Aug 4, 2022
1 parent d08af45 commit 950ca15
Show file tree
Hide file tree
Showing 14 changed files with 278 additions and 492 deletions.
4 changes: 4 additions & 0 deletions src/frameworks.sources
Expand Up @@ -2069,6 +2069,7 @@ MACOS_FRAMEWORKS = \
ScriptingBridge \
SearchKit \
Security \
SharedWithYouCore \
Social \
Speech \
SystemConfiguration \
Expand Down Expand Up @@ -2174,6 +2175,7 @@ IOS_FRAMEWORKS = \
ScreenTime \
Security \
SensorKit \
SharedWithYouCore \
Social \
Speech \
SystemConfiguration \
Expand Down Expand Up @@ -2265,6 +2267,7 @@ TVOS_FRAMEWORKS = \
PhotosUI \
ReplayKit \
Security \
SharedWithYouCore \
SystemConfiguration \
TVMLKit \
TVUIKit \
Expand Down Expand Up @@ -2360,6 +2363,7 @@ MACCATALYST_FRAMEWORKS = \
ScreenTime \
Security \
SensorKit \
SharedWithYouCore \
Social \
Speech \
SystemConfiguration \
Expand Down
260 changes: 260 additions & 0 deletions src/sharedwithyoucore.cs
@@ -0,0 +1,260 @@
//
// SharedWithYouCore C# bindings
//
// Authors:
// Manuel de la Pena Saenz <mandel@microsoft.com>
//
// Copyright 2022 Microsoft Corporation All rights reserved.
//

using System;

using AVFoundation;
using CoreFoundation;
using Foundation;
using ObjCRuntime;

#if !NET
using NativeHandle = System.IntPtr;
#endif

namespace SharedWithYouCore {

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
interface SWAction : NSCopying, NSSecureCoding {
[Export ("uuid")]
NSUuid Uuid { get; }

[Export ("complete")]
bool Complete { [Bind ("isComplete")] get; }

[Export ("fulfill")]
void Fulfill ();

[Export ("fail")]
void Fail ();
}

interface ISWCollaborationActionHandler {}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[Protocol]
[BaseType (typeof (NSObject))]
interface SWCollaborationActionHandler {
[Abstract]
[Export ("collaborationCoordinator:handleStartCollaborationAction:")]
void HandleStartCollaborationAction (SWCollaborationCoordinator coordinator, SWStartCollaborationAction action);

[Abstract]
[Export ("collaborationCoordinator:handleUpdateCollaborationParticipantsAction:")]
void HandleUpdateCollaborationParticipantsAction (SWCollaborationCoordinator coordinator, SWUpdateCollaborationParticipantsAction action);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWCollaborationCoordinator {
[Static]
[Export ("sharedCoordinator", ArgumentSemantic.Strong)]
SWCollaborationCoordinator SharedCoordinator { get; }

[NullAllowed, Export ("actionHandler", ArgumentSemantic.Weak)]
ISWCollaborationActionHandler ActionHandler { get; set; }
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWCollaborationOption : NSCopying, NSSecureCoding {
[Export ("title")]
string Title { get; set; }

[Export ("identifier")]
string Identifier { get; }

[Export ("subtitle")]
string Subtitle { get; set; }

[Export ("selected")]
bool Selected { [Bind ("isSelected")] get; set; }

[Export ("requiredOptionsIdentifiers", ArgumentSemantic.Copy)]
string[] RequiredOptionsIdentifiers { get; set; }

[Export ("initWithTitle:identifier:")]
[DesignatedInitializer]
NativeHandle Constructor (string title, string identifier);

[Static]
[Export ("optionWithTitle:identifier:")]
SWCollaborationOption Create (string title, string identifier);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWCollaborationOptionsGroup : NSCopying, NSSecureCoding {

[Field ("UTCollaborationOptionsTypeIdentifier")]
NSString TypeIdentifier { get; }

[Export ("title")]
string Title { get; set; }

[Export ("identifier")]
string Identifier { get; }

[Export ("footer")]
string Footer { get; set; }

[Export ("options", ArgumentSemantic.Copy)]
SWCollaborationOption[] Options { get; set; }

[Export ("initWithIdentifier:options:")]
[DesignatedInitializer]
NativeHandle Constructor (string identifier, SWCollaborationOption[] options);

[Static]
[Export ("optionsGroupWithIdentifier:options:")]
SWCollaborationOptionsGroup Create (string identifier, SWCollaborationOption[] options);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (SWCollaborationOptionsGroup))]
interface SWCollaborationOptionsPickerGroup {

[Export ("initWithIdentifier:options:")]
[DesignatedInitializer]
NativeHandle Constructor (string identifier, SWCollaborationOption[] options);

[Export ("selectedOptionIdentifier", ArgumentSemantic.Strong)]
string SelectedOptionIdentifier { get; set; }
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWCollaborationShareOptions : NSCopying, NSSecureCoding {
[Export ("optionsGroups", ArgumentSemantic.Copy)]
SWCollaborationOptionsGroup[] OptionsGroups { get; set; }

[Export ("summary")]
string Summary { get; set; }

[Export ("initWithOptionsGroups:summary:")]
[DesignatedInitializer]
NativeHandle Constructor (SWCollaborationOptionsGroup[] optionsGroups, string summary);

[Export ("initWithOptionsGroups:")]
NativeHandle Constructor (SWCollaborationOptionsGroup[] optionsGroups);

[Static]
[Export ("shareOptionsWithOptionsGroups:summary:")]
SWCollaborationShareOptions Create (SWCollaborationOptionsGroup[] optionsGroups, string summary);

[Static]
[Export ("shareOptionsWithOptionsGroups:")]
SWCollaborationShareOptions Create (SWCollaborationOptionsGroup[] optionsGroups);

}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWCollaborationMetadata : NSSecureCoding, NSCopying, NSMutableCopying {
[Export ("collaborationIdentifier")]
string CollaborationIdentifier { get; }

[Export ("localIdentifier")]
string LocalIdentifier { get; }

[NullAllowed, Export ("title")]
string Title { get; set; }

[NullAllowed, Export ("defaultShareOptions", ArgumentSemantic.Copy)]
SWCollaborationShareOptions DefaultShareOptions { get; set; }

[NullAllowed, Export ("userSelectedShareOptions", ArgumentSemantic.Copy)]
SWCollaborationShareOptions UserSelectedShareOptions { get; set; }

[NullAllowed, Export ("initiatorHandle")]
string InitiatorHandle { get; set; }

[NullAllowed, Export ("initiatorNameComponents", ArgumentSemantic.Strong)]
NSPersonNameComponents InitiatorNameComponents { get; set; }

[Export ("initWithLocalIdentifier:")]
NativeHandle Constructor (string localIdentifier);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWPerson : NSSecureCoding {
[Export ("initWithHandle:identity:displayName:thumbnailImageData:")]
NativeHandle Constructor ([NullAllowed] string handle, [NullAllowed] SWPersonIdentity identity, string displayName, [NullAllowed] NSData thumbnailImageData);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWPersonIdentity : NSSecureCoding, NSCopying {
[Export ("rootHash", ArgumentSemantic.Copy)]
NSData RootHash { get; }

[Export ("initWithRootHash:")]
NativeHandle Constructor (NSData rootHash);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SWPersonIdentityProof : NSSecureCoding, NSCopying {
[Export ("inclusionHashes", ArgumentSemantic.Copy)]
NSData[] InclusionHashes { get; }

[Export ("publicKey", ArgumentSemantic.Copy)]
NSData PublicKey { get; }

[Export ("publicKeyIndex")]
nuint PublicKeyIndex { get; }
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0)]
[BaseType (typeof (SWPersonIdentityProof))]
interface SWSignedPersonIdentityProof {
[Export ("initWithPersonIdentityProof:signatureData:")]
NativeHandle Constructor (SWPersonIdentityProof personIdentityProof, NSData data);

[Export ("signatureData", ArgumentSemantic.Copy)]
NSData SignatureData { get; }
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0), MacCatalyst (16,0)]
[BaseType (typeof(SWAction))]
[DisableDefaultCtor]
interface SWStartCollaborationAction : NSSecureCoding, NSCopying {
[Export ("collaborationMetadata")]
SWCollaborationMetadata CollaborationMetadata { get; }

[Export ("fulfillUsingURL:collaborationIdentifier:")]
void FulfillUsingUrl (NSUrl url, string collaborationIdentifier);
}

[NoWatch, TV (16,0), Mac (13,0), iOS (16,0)]
[BaseType (typeof (SWAction))]
[DisableDefaultCtor]
interface SWUpdateCollaborationParticipantsAction : NSSecureCoding, NSCopying {
[Export ("collaborationMetadata")]
SWCollaborationMetadata CollaborationMetadata { get; }

[Export ("addedIdentities")]
SWPersonIdentity[] AddedIdentities { get; }

[Export ("removedIdentities")]
SWPersonIdentity[] RemovedIdentities { get; }
}

}

1 change: 1 addition & 0 deletions tests/introspection/iOS/iOSApiProtocolTest.cs
Expand Up @@ -86,6 +86,7 @@ protected override bool Skip (Type type)
case "CAMetalLayer":
case "MTLFunctionConstantValues":
case "MTLHeapDescriptor":
case "SWCollaborationActionHandler":
// Symbol not available in simulator - but works on BigSur (others might too)
if (TestRuntime.IsSimulatorOrDesktop)
return true;
Expand Down
1 change: 1 addition & 0 deletions tests/mtouch/RegistrarTest.cs
Expand Up @@ -349,6 +349,7 @@ public void MT4134 ()
new { Framework = "CoreLocationUI", Version = "15.0" },
new { Framework = "Chip", Version = "15.0" },
new { Framework = "ThreadNetwork", Version = "15.0" },
new { Framework = "SharedWithYouCore", Version = "16.0" },
};
foreach (var framework in invalidFrameworks)
mtouch.AssertError (4134, $"Your application is using the '{framework.Framework}' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS {framework.Version}, while you're building with the iOS {mtouch.Sdk} SDK.) Please select a newer SDK in your app's iOS Build options.");
Expand Down
@@ -0,0 +1,2 @@
!missing-field! SharedWithYouCoreVersionNumber not bound
!missing-field! SharedWithYouCoreVersionString not bound

This file was deleted.

0 comments on commit 950ca15

Please sign in to comment.