Merge remote-tracking branch 'origin/master' into full-static-registrar

This commit is contained in:
Rolf Bjarne Kvinge 2018-02-15 17:45:41 +01:00
Родитель 1e6b294210 a93a5a10eb
Коммит 4123bf7ede
8 изменённых файлов: 142 добавлений и 90 удалений

Просмотреть файл

@ -20,6 +20,7 @@ using CoreFoundation;
using AppKit;
#else
using UIKit;
using NSViewController = Foundation.NSObject;
#endif
namespace GameKit {
@ -195,25 +196,7 @@ namespace GameKit {
[Export ("isVoIPAllowed")]
bool IsVoIPAllowed { get; }
}
[NoTV]
[NoWatch] // only exposed thru GKSession (not in 3.0)
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface GKSessionDelegate {
[Export ("session:peer:didChangeState:")]
void PeerChangedState (GKSession session, string peerID, GKPeerConnectionState state);
[Export ("session:didReceiveConnectionRequestFromPeer:")]
void PeerConnectionRequest (GKSession session, string peerID);
[Export ("session:connectionWithPeerFailed:withError:")]
void PeerConnectionFailed (GKSession session, string peerID, NSError error);
[Export ("session:didFailWithError:")]
void FailedWithError (GKSession session, NSError error);
}
#endif
[NoTV]
[NoWatch] // deprecated in 2.0 (but framework not added before 3.0)
@ -306,7 +289,6 @@ namespace GameKit {
[Export ("peersWithConnectionState:")]
string [] PeersWithConnectionState (GKPeerConnectionState state);
}
#endif
[Watch (3,0)]
[Mac (10, 8)]
@ -1227,7 +1209,11 @@ namespace GameKit {
#endif
// iOS 6 -> Objective-C exception thrown. Name: NSInvalidArgumentException Reason: <GKMatchmakerViewController: 0x16101160>: must use one of the designated initializers
[DisableDefaultCtor]
interface GKMatchmakerViewController {
interface GKMatchmakerViewController
#if MONOMAC
: GKViewController
#endif
{
[NoiOS]
[Export ("initWithNibName:bundle:")]
IntPtr Constructor ([NullAllowed] string nibNameOrNull, [NullAllowed] NSBundle nibBundleOrNull);
@ -1506,6 +1492,14 @@ namespace GameKit {
[Export ("loadImageWithCompletionHandler:")]
[Async]
void LoadImage ([NullAllowed] GKImageLoadedHandler imageLoadedHandler);
[iOS (6,0), Mac (10,8)]
[Export ("groupIdentifier", ArgumentSemantic.Retain)]
string GroupIdentifier { get; }
[iOS (6,0), Mac (10,8)]
[Export ("replayable", ArgumentSemantic.Assign)]
bool Replayable { [Bind ("isReplayable")] get; }
#if MONOMAC
[Export ("image", ArgumentSemantic.Retain)]
@ -1534,14 +1528,6 @@ namespace GameKit {
[Static]
[Export ("placeholderCompletedAchievementImage")]
UIImage PlaceholderCompletedAchievementImage { get; }
[iOS (6,0)]
[Export ("groupIdentifier", ArgumentSemantic.Retain)]
string GroupIdentifier { get; }
[iOS (6,0)]
[Export ("replayable", ArgumentSemantic.Assign)]
bool Replayable { [Bind ("isReplayable")] get; }
#endif
}
@ -1608,7 +1594,7 @@ namespace GameKit {
[Mac (10,8)]
[Deprecated (PlatformName.MacOSX, 10, 12)]
[BaseType (typeof (NSViewController), Events=new Type [] { typeof (GKFriendRequestComposeViewControllerDelegate)}, Delegates=new string[] {"WeakComposeViewDelegate"})]
interface GKFriendRequestComposeViewController {
interface GKFriendRequestComposeViewController : GKViewController {
[Export ("initWithNibName:bundle:")]
IntPtr Constructor ([NullAllowed] string nibNameOrNull, [NullAllowed] NSBundle nibBundleOrNull);
#else
@ -1959,7 +1945,7 @@ namespace GameKit {
#if MONOMAC
[Mac (10,8)]
[BaseType (typeof (NSViewController))]
interface GKTurnBasedMatchmakerViewController
interface GKTurnBasedMatchmakerViewController : GKViewController
#else
[BaseType (typeof (UINavigationController))]
interface GKTurnBasedMatchmakerViewController : UIAppearance
@ -2089,6 +2075,9 @@ namespace GameKit {
Delegates = new [] { "WeakDelegate" }
)]
interface GKGameCenterViewController
#if MONOMAC
: GKViewController
#endif
{
[NoiOS]
[Export ("initWithNibName:bundle:")]
@ -2139,7 +2128,6 @@ namespace GameKit {
void Finished (GKGameCenterViewController controller);
}
#if !MONOMAC
[NoWatch]
[NoTV]
[iOS (6, 0)]
@ -2198,7 +2186,6 @@ namespace GameKit {
[Export ("remotePlayerDidCompleteChallenge:")]
void RemotePlayerCompletedChallenge (GKChallenge challenge);
}
#endif
[iOS (7,0), Mac (10,10)]
[Watch (3,0)]
@ -2325,6 +2312,9 @@ namespace GameKit {
[Model, Protocol, BaseType (typeof (NSObject))]
interface GKTurnBasedEventListener
{
#if XAMCORE_4_0
[NoMac]
#endif
[NoWatch]
[NoTV]
[Availability (Deprecated = Platform.iOS_8_0, Message = "Use 'DidRequestMatchWithOtherPlayers' instead.")]
@ -2505,4 +2495,52 @@ namespace GameKit {
void DidFinish (GKGameSessionSharingViewController viewController, [NullAllowed] NSError error);
}
#endif
interface IGKChallengesViewControllerDelegate { }
[NoiOS, NoTV, NoWatch, Mac (10,8)]
[BaseType (typeof (NSObject))]
[Protocol, Model]
interface GKChallengesViewControllerDelegate {
[Abstract]
[Export ("challengesViewControllerDidFinish:")]
void DidFinish (GKChallengesViewController viewController);
}
[NoiOS, NoTV, NoWatch, Mac (10,8)]
[Deprecated (PlatformName.MacOSX, 10,10)]
[BaseType (typeof (NSViewController))]
interface GKChallengesViewController : GKViewController {
[Export ("initWithNibName:bundle:")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[NullAllowed, Export ("challengeDelegate", ArgumentSemantic.Assign)]
IGKChallengesViewControllerDelegate ChallengeDelegate { get; set; }
}
[NoiOS, NoTV, NoWatch, Mac (10,8)]
[Protocol]
interface GKViewController
{
}
[NoTV]
[NoWatch] // only exposed thru GKSession (not in 3.0)
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface GKSessionDelegate {
[Export ("session:peer:didChangeState:")]
void PeerChangedState (GKSession session, string peerID, GKPeerConnectionState state);
[Export ("session:didReceiveConnectionRequestFromPeer:")]
void PeerConnectionRequest (GKSession session, string peerID);
[Export ("session:connectionWithPeerFailed:withError:")]
void PeerConnectionFailed (GKSession session, string peerID, NSError error);
[Export ("session:didFailWithError:")]
void FailedWithError (GKSession session, NSError error);
}
}

Просмотреть файл

@ -7,6 +7,14 @@ using System;
using System.ComponentModel;
namespace QuickLookUI {
[Mac (10,7)]
[Native]
enum QLPreviewViewStyle : ulong {
Normal = 0,
Compact = 1
}
[BaseType (typeof (NSObject))]
[Protocol, Model]
interface QLPreviewPanelDataSource {
@ -33,11 +41,20 @@ namespace QuickLookUI {
NSObject TransitionImageForPreviewItem (QLPreviewPanel panel, [Protocolize] QLPreviewItem item, CGRect contentRect);
}
interface IQLPreviewItem {}
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface QLPreviewItem {
#if XAMCORE_4_0
[Abstract]
#endif
[Export ("previewItemURL")]
#if XAMCORE_4_0
NSUrl PreviewItemUrl { get; }
#else
NSUrl PreviewItemURL { get; }
#endif
[Export ("previewItemTitle")]
string PreviewItemTitle { get; }
@ -115,4 +132,42 @@ namespace QuickLookUI {
[Export ("exitFullScreenModeWithOptions:")]
void ExitFullScreenModeWithOptions ([NullAllowed]NSDictionary options);
}
[BaseType (typeof (NSView))] // Mac 10.6
interface QLPreviewView {
[Mac (10,7)]
[Export ("initWithFrame:style:")]
IntPtr Constructor (CGRect frame, QLPreviewViewStyle style);
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("previewItem", ArgumentSemantic.Retain)]
IQLPreviewItem PreviewItem { get; set; }
[Export ("refreshPreviewItem")]
void RefreshPreviewItem ();
[Export ("displayState", ArgumentSemantic.Retain)]
NSObject DisplayState { get; set; }
[Export ("close")]
void Close ();
[Export ("shouldCloseWithWindow")]
bool ShouldCloseWithWindow { get; set; }
[Export ("autostarts")]
bool Autostarts { get; set; }
}
[Mac (10,13)]
[Protocol]
interface QLPreviewingController {
[Abstract]
[Export ("preparePreviewOfSearchableItemWithIdentifier:queryString:completionHandler:")]
void PreparePreviewOfSearchableItem (string identifier, string queryString, Action<NSError> ItemLoadingHandler);
}
}

Просмотреть файл

@ -103,6 +103,7 @@ namespace Introspection
"Automounted",
"Autoredirect",
"Autospace",
"Autostarts",
"Avci", // file type
"Aliasable",
"Arcball",

Просмотреть файл

@ -37,7 +37,7 @@ The `xtro-report` tool creates an html report that describe the results, per pla
The bots produce the report on every commit/PR. It can also be produced locally with:
````
```
cd tests/xtro-sharpie
make
open report/index.html

Просмотреть файл

@ -7,3 +7,15 @@
# Used to remove hard to kill delegate API until XAMCORE_4_0
!extra-protocol-member! unexpected selector GKMatchDelegate::xamarin:selector:removed: found
# Fixed in XAMCORE_4_0
!extra-protocol-member! unexpected selector GKTurnBasedEventListener::player:didRequestMatchWithPlayers: found
# The parent enum GKVoiceChatService is not available in macOS
# so to be honest it does not make much sense to expose this constant on macOS
# nor the below protocols
!missing-field! GKVoiceChatServiceErrorDomain not bound
!missing-protocol! GKVoiceChatClient not bound
# This selector does not exist in macOS, confirmed by intro.
!missing-selector! GKLeaderboardSet::loadImageWithCompletionHandler: not bound

Просмотреть файл

@ -1,42 +0,0 @@
!extra-protocol-member! unexpected selector GKTurnBasedEventListener::player:didRequestMatchWithPlayers: found
!missing-field! GKVoiceChatServiceErrorDomain not bound
!missing-protocol! GKChallengeEventHandlerDelegate not bound
!missing-protocol! GKChallengesViewControllerDelegate not bound
!missing-protocol! GKSessionDelegate not bound
!missing-protocol! GKViewController not bound
!missing-protocol! GKVoiceChatClient not bound
!missing-protocol-conformance! GKFriendRequestComposeViewController should conform to GKViewController
!missing-protocol-conformance! GKGameCenterViewController should conform to GKViewController
!missing-protocol-conformance! GKMatchmakerViewController should conform to GKViewController
!missing-protocol-conformance! GKTurnBasedMatchmakerViewController should conform to GKViewController
!missing-selector! GKAchievementDescription::groupIdentifier not bound
!missing-selector! GKAchievementDescription::isReplayable not bound
!missing-selector! GKChallengeEventHandler::delegate not bound
!missing-selector! GKChallengeEventHandler::setDelegate: not bound
!missing-selector! GKChallengesViewController::challengeDelegate not bound
!missing-selector! GKChallengesViewController::setChallengeDelegate: not bound
!missing-selector! GKLeaderboardSet::loadImageWithCompletionHandler: not bound
!missing-selector! GKSession::acceptConnectionFromPeer:error: not bound
!missing-selector! GKSession::cancelConnectToPeer: not bound
!missing-selector! GKSession::connectToPeer:withTimeout: not bound
!missing-selector! GKSession::delegate not bound
!missing-selector! GKSession::denyConnectionFromPeer: not bound
!missing-selector! GKSession::disconnectPeerFromAllPeers: not bound
!missing-selector! GKSession::disconnectTimeout not bound
!missing-selector! GKSession::displayName not bound
!missing-selector! GKSession::displayNameForPeer: not bound
!missing-selector! GKSession::initWithSessionID:displayName:sessionMode: not bound
!missing-selector! GKSession::isAvailable not bound
!missing-selector! GKSession::peerID not bound
!missing-selector! GKSession::peersWithConnectionState: not bound
!missing-selector! GKSession::sendData:toPeers:withDataMode:error: not bound
!missing-selector! GKSession::sendDataToAllPeers:withDataMode:error: not bound
!missing-selector! GKSession::sessionID not bound
!missing-selector! GKSession::sessionMode not bound
!missing-selector! GKSession::setAvailable: not bound
!missing-selector! GKSession::setDataReceiveHandler:withContext: not bound
!missing-selector! GKSession::setDelegate: not bound
!missing-selector! GKSession::setDisconnectTimeout: not bound
!missing-type! GKChallengeEventHandler not bound
!missing-type! GKChallengesViewController not bound
!missing-type! GKSession not bound

Просмотреть файл

@ -0,0 +1,2 @@
# Fixed in XAMCORE_4_0
!incorrect-protocol-member! QLPreviewItem::previewItemURL is REQUIRED and should be abstract

Просмотреть файл

@ -1,14 +0,0 @@
!incorrect-protocol-member! QLPreviewItem::previewItemURL is REQUIRED and should be abstract
!missing-enum! QLPreviewViewStyle not bound
!missing-protocol! QLPreviewingController not bound
!missing-selector! QLPreviewView::autostarts not bound
!missing-selector! QLPreviewView::displayState not bound
!missing-selector! QLPreviewView::initWithFrame: not bound
!missing-selector! QLPreviewView::initWithFrame:style: not bound
!missing-selector! QLPreviewView::previewItem not bound
!missing-selector! QLPreviewView::setAutostarts: not bound
!missing-selector! QLPreviewView::setDisplayState: not bound
!missing-selector! QLPreviewView::setPreviewItem: not bound
!missing-selector! QLPreviewView::setShouldCloseWithWindow: not bound
!missing-selector! QLPreviewView::shouldCloseWithWindow not bound
!missing-type! QLPreviewView not bound