Родитель
ee2d0458de
Коммит
41347c4696
|
@ -1,12 +1,15 @@
|
|||
// Copyright 2015 Xamarin Inc.
|
||||
// Copyright 2019 Microsoft Corporation
|
||||
|
||||
using System;
|
||||
using CoreGraphics;
|
||||
using Foundation;
|
||||
using ObjCRuntime;
|
||||
|
||||
namespace TVServices {
|
||||
|
||||
[TV (9,0)]
|
||||
[Deprecated (PlatformName.TvOS, 13,0, message: "Use 'TVTopShelfContentProvider' instead.")]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVContentIdentifier : NSCopying, NSSecureCoding {
|
||||
|
@ -23,6 +26,7 @@ namespace TVServices {
|
|||
|
||||
[TV (9,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[Deprecated (PlatformName.TvOS, 13,0, message: "Use 'TVTopShelfItem' instead.")]
|
||||
[DisableDefaultCtor]
|
||||
interface TVContentItem : NSCopying, NSSecureCoding {
|
||||
[Export ("contentIdentifier", ArgumentSemantic.Copy)]
|
||||
|
@ -101,4 +105,274 @@ namespace TVServices {
|
|||
[Field ("TVTopShelfItemsDidChangeNotification")]
|
||||
NSString DidChangeNotification { get; }
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof(NSObject))]
|
||||
[DisableDefaultCtor] // Name property can't be null
|
||||
interface TVAppProfileDescriptor : NSCopying, NSSecureCoding {
|
||||
|
||||
[Export("initWithName:")]
|
||||
IntPtr Constructor (string name);
|
||||
|
||||
[Export("name")]
|
||||
string Name { get; set; }
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfAction {
|
||||
[Export ("URL", ArgumentSemantic.Copy)]
|
||||
NSUrl Url { get; }
|
||||
|
||||
[Export ("initWithURL:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSUrl url);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[Native]
|
||||
enum TVTopShelfCarouselContentStyle : long {
|
||||
Actions,
|
||||
Details,
|
||||
}
|
||||
|
||||
interface ITVTopShelfContent {}
|
||||
|
||||
[TV (13,0)]
|
||||
[Protocol]
|
||||
interface TVTopShelfContent { }
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfCarouselContent : TVTopShelfContent {
|
||||
[Export ("style")]
|
||||
TVTopShelfCarouselContentStyle Style { get; }
|
||||
|
||||
[Export ("items", ArgumentSemantic.Copy)]
|
||||
TVTopShelfCarouselItem[] Items { get; }
|
||||
|
||||
[Export ("initWithStyle:items:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (TVTopShelfCarouselContentStyle style, TVTopShelfCarouselItem[] items);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[Flags]
|
||||
[Native]
|
||||
public enum TVTopShelfCarouselItemMediaOptions : ulong {
|
||||
VideoResolutionHD = 1uL << 0,
|
||||
VideoResolution4K = 2uL << 0,
|
||||
VideoColorSpaceHdr = 1uL << 6,
|
||||
VideoColorSpaceDolbyVision = 2uL << 6,
|
||||
AudioDolbyAtmos = 1uL << 12,
|
||||
AudioTranscriptionClosedCaptioning = 1uL << 13,
|
||||
AudioTranscriptionSdh = 1uL << 14,
|
||||
AudioDescription = 1uL << 15,
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (TVTopShelfItem))]
|
||||
[DisableDefaultCtor] // -[TVTopShelfCarouselItem init]: unrecognized selector sent to instance 0x600000eb18c0
|
||||
interface TVTopShelfCarouselItem {
|
||||
|
||||
// inlined from base class
|
||||
[Export ("initWithIdentifier:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string identifier);
|
||||
|
||||
[NullAllowed, Export ("contextTitle")]
|
||||
string ContextTitle { get; set; }
|
||||
|
||||
[NullAllowed, Export ("summary")]
|
||||
string Summary { get; set; }
|
||||
|
||||
[NullAllowed, Export("genre")]
|
||||
string Genre { get; set; }
|
||||
|
||||
[Export("duration")]
|
||||
double /* NSTimeInterval */ Duration { get; set; }
|
||||
|
||||
[NullAllowed, Export("creationDate", ArgumentSemantic.Copy)]
|
||||
NSDate CreationDate { get; set; }
|
||||
|
||||
[Export("mediaOptions", ArgumentSemantic.Assign)]
|
||||
TVTopShelfCarouselItemMediaOptions MediaOptions { get; set; }
|
||||
|
||||
[NullAllowed, Export("previewVideoURL", ArgumentSemantic.Copy)]
|
||||
NSUrl PreviewVideoUrl { get; set; }
|
||||
|
||||
[NullAllowed, Export("cinemagraphURL", ArgumentSemantic.Copy)]
|
||||
NSUrl CinemagraphUrl { get; set; }
|
||||
|
||||
[Export("namedAttributes", ArgumentSemantic.Copy)]
|
||||
TVTopShelfNamedAttribute[] NamedAttributes { get; set; }
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface TVTopShelfContentProvider {
|
||||
[Async]
|
||||
[Export ("loadTopShelfContentWithCompletionHandler:")]
|
||||
void LoadTopShelfContent (Action<ITVTopShelfContent> completionHandler);
|
||||
|
||||
[Static]
|
||||
[Export ("topShelfContentDidChange")]
|
||||
void DidChange ();
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfInsetContent : TVTopShelfContent {
|
||||
[Export ("items", ArgumentSemantic.Copy)]
|
||||
TVTopShelfItem[] Items { get; }
|
||||
|
||||
[Static]
|
||||
[Export ("imageSize")]
|
||||
CGSize ImageSize { get; }
|
||||
|
||||
[Export ("initWithItems:")]
|
||||
IntPtr Constructor (TVTopShelfItem[] items);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (TVTopShelfObject))]
|
||||
[DisableDefaultCtor] // identifier can't be null and we have a designated initializer
|
||||
interface TVTopShelfItem {
|
||||
|
||||
[Export ("identifier")]
|
||||
string Identifier { get; }
|
||||
|
||||
[NullAllowed, Export ("playAction", ArgumentSemantic.Strong)]
|
||||
TVTopShelfAction PlayAction { get; set; }
|
||||
|
||||
[NullAllowed, Export ("displayAction", ArgumentSemantic.Strong)]
|
||||
TVTopShelfAction DisplayAction { get; set; }
|
||||
|
||||
[NullAllowed, Export ("expirationDate", ArgumentSemantic.Copy)]
|
||||
NSDate ExpirationDate { get; set; }
|
||||
|
||||
[Export ("setImageURL:forTraits:")]
|
||||
void SetImageUrl ([NullAllowed] NSUrl imageUrl, TVTopShelfItemImageTraits traits);
|
||||
|
||||
[Export ("imageURLForTraits:")]
|
||||
[return: NullAllowed]
|
||||
NSUrl GetImageUrl (TVTopShelfItemImageTraits traits);
|
||||
|
||||
[Export ("initWithIdentifier:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string identifier);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfNamedAttribute {
|
||||
|
||||
[Export ("name")]
|
||||
string Name { get; }
|
||||
|
||||
[Export ("values", ArgumentSemantic.Copy)]
|
||||
string[] Values { get; }
|
||||
|
||||
[Export ("initWithName:values:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string name, string[] values);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[Abstract]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfObject {
|
||||
[NullAllowed, Export ("title")]
|
||||
string Title { get; set; }
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[Flags]
|
||||
[Native]
|
||||
enum TVTopShelfItemImageTraits : ulong {
|
||||
Scale1x = 1,
|
||||
Scale2x = 2,
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface TVUserManager {
|
||||
|
||||
[NullAllowed, Export ("currentUserIdentifier")]
|
||||
string CurrentUserIdentifier { get; }
|
||||
|
||||
[Export ("userIdentifiersForCurrentProfile", ArgumentSemantic.Copy)]
|
||||
string[] UserIdentifiersForCurrentProfile { get; set; }
|
||||
|
||||
[Async]
|
||||
[Export ("presentProfilePreferencePanelWithCurrentSettings:availableProfiles:completion:")]
|
||||
void PresentProfilePreferencePanel (NSDictionary<NSString, TVAppProfileDescriptor> currentSettings, TVAppProfileDescriptor[] availableProfiles, Action<NSDictionary<NSString, TVAppProfileDescriptor>> completion);
|
||||
|
||||
[Async]
|
||||
[Export ("shouldStorePreferenceForCurrentUserToProfile:completion:")]
|
||||
void ShouldStorePreferenceForCurrentUser (TVAppProfileDescriptor profile, Action<bool> completion);
|
||||
|
||||
[Notification]
|
||||
[Field ("TVUserManagerCurrentUserIdentifierDidChangeNotification")]
|
||||
NSString CurrentUserIdentifierDidChangeNotification { get; }
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (TVTopShelfObject))]
|
||||
[DisableDefaultCtor] // null is not allowed for items
|
||||
interface TVTopShelfItemCollection {
|
||||
|
||||
[Export ("items", ArgumentSemantic.Copy)]
|
||||
TVTopShelfItem[] Items { get; }
|
||||
|
||||
[Export ("initWithItems:")]
|
||||
IntPtr Constructor (TVTopShelfItem[] items);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface TVTopShelfSectionedContent : TVTopShelfContent {
|
||||
|
||||
[Export ("sections", ArgumentSemantic.Copy)]
|
||||
TVTopShelfItemCollection[] Sections { get; }
|
||||
|
||||
[Export("initWithSections:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (TVTopShelfItemCollection[] sections);
|
||||
|
||||
[Static]
|
||||
[Export("imageSizeForImageShape:")]
|
||||
CGSize GetImageSize (TVTopShelfSectionedItemImageShape shape);
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[Native]
|
||||
public enum TVTopShelfSectionedItemImageShape : long {
|
||||
Square,
|
||||
Poster,
|
||||
Hdtv,
|
||||
}
|
||||
|
||||
[TV (13,0)]
|
||||
[BaseType (typeof (TVTopShelfItem))]
|
||||
[DisableDefaultCtor] // -[TVTopShelfSectionedItem init]: unrecognized selector sent to instance 0x600001f251a0
|
||||
interface TVTopShelfSectionedItem {
|
||||
|
||||
// inlined from base type
|
||||
[Export ("initWithIdentifier:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string identifier);
|
||||
|
||||
[Export ("imageShape", ArgumentSemantic.Assign)]
|
||||
TVTopShelfSectionedItemImageShape ImageShape { get; set; }
|
||||
|
||||
[Export ("playbackProgress")]
|
||||
double PlaybackProgress { get; set; }
|
||||
}
|
||||
}
|
|
@ -344,6 +344,18 @@ namespace Introspection {
|
|||
case "CLKSimpleGaugeProvider":
|
||||
case "CLKTimeIntervalGaugeProvider":
|
||||
return true;
|
||||
#elif __TVOS__
|
||||
case "TVTopShelfAction":
|
||||
case "TVTopShelfCarouselContent":
|
||||
case "TVTopShelfCarouselItem":
|
||||
case "TVTopShelfInsetContent":
|
||||
case "TVTopShelfItem":
|
||||
case "TVTopShelfItemCollection":
|
||||
case "TVTopShelfNamedAttribute":
|
||||
case "TVTopShelfObject":
|
||||
case "TVTopShelfSectionedContent":
|
||||
case "TVTopShelfSectionedItem":
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
@ -550,6 +562,18 @@ namespace Introspection {
|
|||
case "CLKSimpleGaugeProvider":
|
||||
case "CLKTimeIntervalGaugeProvider":
|
||||
return true;
|
||||
#elif __TVOS__
|
||||
case "TVTopShelfAction":
|
||||
case "TVTopShelfCarouselContent":
|
||||
case "TVTopShelfCarouselItem":
|
||||
case "TVTopShelfInsetContent":
|
||||
case "TVTopShelfItem":
|
||||
case "TVTopShelfItemCollection":
|
||||
case "TVTopShelfNamedAttribute":
|
||||
case "TVTopShelfObject":
|
||||
case "TVTopShelfSectionedContent":
|
||||
case "TVTopShelfSectionedItem":
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
!deprecated-attribute-missing! TVContentIdentifier missing a [Deprecated] attribute
|
||||
!deprecated-attribute-missing! TVContentItem missing a [Deprecated] attribute
|
||||
!missing-enum! TVTopShelfCarouselContentStyle not bound
|
||||
!missing-enum! TVTopShelfCarouselItemMediaOptions not bound
|
||||
!missing-enum! TVTopShelfItemImageTraits not bound
|
||||
!missing-enum! TVTopShelfSectionedItemImageShape not bound
|
||||
!missing-field! TVUserManagerCurrentUserIdentifierDidChangeNotification not bound
|
||||
!missing-protocol! TVTopShelfContent not bound
|
||||
!missing-selector! +TVTopShelfContentProvider::topShelfContentDidChange not bound
|
||||
!missing-selector! +TVTopShelfInsetContent::imageSize not bound
|
||||
!missing-selector! +TVTopShelfSectionedContent::imageSizeForImageShape: not bound
|
||||
!missing-selector! TVAppProfileDescriptor::initWithName: not bound
|
||||
!missing-selector! TVAppProfileDescriptor::name not bound
|
||||
!missing-selector! TVAppProfileDescriptor::setName: not bound
|
||||
!missing-selector! TVTopShelfAction::initWithURL: not bound
|
||||
!missing-selector! TVTopShelfAction::URL not bound
|
||||
!missing-selector! TVTopShelfCarouselContent::initWithStyle:items: not bound
|
||||
!missing-selector! TVTopShelfCarouselContent::items not bound
|
||||
!missing-selector! TVTopShelfCarouselContent::style not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::cinemagraphURL not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::contextTitle not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::creationDate not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::duration not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::genre not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::mediaOptions not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::namedAttributes not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::previewVideoURL not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setCinemagraphURL: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setContextTitle: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setCreationDate: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setDuration: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setGenre: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setMediaOptions: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setNamedAttributes: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setPreviewVideoURL: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::setSummary: not bound
|
||||
!missing-selector! TVTopShelfCarouselItem::summary not bound
|
||||
!missing-selector! TVTopShelfContentProvider::loadTopShelfContentWithCompletionHandler: not bound
|
||||
!missing-selector! TVTopShelfInsetContent::initWithItems: not bound
|
||||
!missing-selector! TVTopShelfInsetContent::items not bound
|
||||
!missing-selector! TVTopShelfItem::displayAction not bound
|
||||
!missing-selector! TVTopShelfItem::expirationDate not bound
|
||||
!missing-selector! TVTopShelfItem::identifier not bound
|
||||
!missing-selector! TVTopShelfItem::imageURLForTraits: not bound
|
||||
!missing-selector! TVTopShelfItem::initWithIdentifier: not bound
|
||||
!missing-selector! TVTopShelfItem::playAction not bound
|
||||
!missing-selector! TVTopShelfItem::setDisplayAction: not bound
|
||||
!missing-selector! TVTopShelfItem::setExpirationDate: not bound
|
||||
!missing-selector! TVTopShelfItem::setImageURL:forTraits: not bound
|
||||
!missing-selector! TVTopShelfItem::setPlayAction: not bound
|
||||
!missing-selector! TVTopShelfItemCollection::initWithItems: not bound
|
||||
!missing-selector! TVTopShelfItemCollection::items not bound
|
||||
!missing-selector! TVTopShelfNamedAttribute::initWithName:values: not bound
|
||||
!missing-selector! TVTopShelfNamedAttribute::name not bound
|
||||
!missing-selector! TVTopShelfNamedAttribute::values not bound
|
||||
!missing-selector! TVTopShelfObject::setTitle: not bound
|
||||
!missing-selector! TVTopShelfObject::title not bound
|
||||
!missing-selector! TVTopShelfSectionedContent::initWithSections: not bound
|
||||
!missing-selector! TVTopShelfSectionedContent::sections not bound
|
||||
!missing-selector! TVTopShelfSectionedItem::imageShape not bound
|
||||
!missing-selector! TVTopShelfSectionedItem::playbackProgress not bound
|
||||
!missing-selector! TVTopShelfSectionedItem::setImageShape: not bound
|
||||
!missing-selector! TVTopShelfSectionedItem::setPlaybackProgress: not bound
|
||||
!missing-selector! TVUserManager::currentUserIdentifier not bound
|
||||
!missing-selector! TVUserManager::presentProfilePreferencePanelWithCurrentSettings:availableProfiles:completion: not bound
|
||||
!missing-selector! TVUserManager::setUserIdentifiersForCurrentProfile: not bound
|
||||
!missing-selector! TVUserManager::shouldStorePreferenceForCurrentUserToProfile:completion: not bound
|
||||
!missing-selector! TVUserManager::userIdentifiersForCurrentProfile not bound
|
||||
!missing-type! TVAppProfileDescriptor not bound
|
||||
!missing-type! TVTopShelfAction not bound
|
||||
!missing-type! TVTopShelfCarouselContent not bound
|
||||
!missing-type! TVTopShelfCarouselItem not bound
|
||||
!missing-type! TVTopShelfContentProvider not bound
|
||||
!missing-type! TVTopShelfInsetContent not bound
|
||||
!missing-type! TVTopShelfItem not bound
|
||||
!missing-type! TVTopShelfItemCollection not bound
|
||||
!missing-type! TVTopShelfNamedAttribute not bound
|
||||
!missing-type! TVTopShelfObject not bound
|
||||
!missing-type! TVTopShelfSectionedContent not bound
|
||||
!missing-type! TVTopShelfSectionedItem not bound
|
||||
!missing-type! TVUserManager not bound
|
Загрузка…
Ссылка в новой задаче