Merge remote-tracking branch 'origin/master' into full-static-registrar
This commit is contained in:
Коммит
4123bf7ede
104
src/gamekit.cs
104
src/gamekit.cs
|
@ -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
|
Загрузка…
Ссылка в новой задаче