Skip to content

Commit

Permalink
[HomeKit] Put availability attribute for tvOS on the type, never the …
Browse files Browse the repository at this point in the history
…member. (#785)

HomeKit was added to tvOS in tvOS 10, which means every type was
introduced in tvOS 10, which means we only need availability attributes
on the types, never the individual members.
  • Loading branch information
rolfbjarne authored and spouliot committed Sep 7, 2016
1 parent f49a0cd commit b6e7eb0
Show file tree
Hide file tree
Showing 9 changed files with 110 additions and 51 deletions.
1 change: 1 addition & 0 deletions src/HomeKit/HMAccessoryCategory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace XamCore.HomeKit {
partial class HMAccessoryCategory {

[iOS (9,0)]
[TV (10,0)]
public HMAccessoryCategoryType CategoryType {
get {
var s = _CategoryType;
Expand Down
1 change: 1 addition & 0 deletions src/HomeKit/HMActionSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace XamCore.HomeKit {
partial class HMActionSet {

[iOS (9,0)]
[TV (10,0)]
public HMActionSetType ActionSetType {
get {
var s = _ActionSetType;
Expand Down
2 changes: 2 additions & 0 deletions src/HomeKit/HMCharacteristic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace XamCore.HomeKit {

[iOS (8,0)]
[TV (10,0)]
partial class HMCharacteristic
{
public HMCharacteristicType CharacteristicType {
Expand Down Expand Up @@ -217,6 +218,7 @@ public bool Writable {
}

[iOS (9,3)][Watch (2,2)]
[TV (10,0)]
public bool Hidden {
get {
foreach (var p in Properties) {
Expand Down
1 change: 1 addition & 0 deletions src/HomeKit/HMCharacteristicMetadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace XamCore.HomeKit {

[TV (10,0)]
[iOS (8,0)]
public partial class HMCharacteristicMetadata
{
Expand Down
1 change: 1 addition & 0 deletions src/HomeKit/HMCharacteristicProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace XamCore.HomeKit {

[iOS (8,0)]
[TV (10,0)]
public class HMCharacteristicProperties {

public bool SupportsChangeNumber { get; set; }
Expand Down
71 changes: 46 additions & 25 deletions src/HomeKit/HMEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace XamCore.HomeKit {

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMError : nint {
AlreadyExists = 1,
Expand Down Expand Up @@ -103,6 +104,7 @@ public enum HMError : nint {

// conveniance enum (ObjC uses NSString)
[iOS (8,0)]
[TV (10,0)]
public enum HMCharacteristicType {
None,
PowerState,
Expand Down Expand Up @@ -212,36 +214,37 @@ public enum HMCharacteristicType {
TargetPosition,
[iOS (9,0)]
TargetVerticalTilt,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
StreamingStatus,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
SetupStreamEndpoint,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
SupportedVideoStreamConfiguration,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
SupportedAudioStreamConfiguration,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
SupportedRtpConfiguration,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
SelectedStreamConfiguration,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
Volume,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
Mute,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
NightVision,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
OpticalZoom,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
DigitalZoom,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
ImageRotation,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
ImageMirroring,
}

// conveniance enum (ObjC uses NSString)
[iOS (8,0)]
[TV (10,0)]
public enum HMCharacteristicMetadataUnits {
None,
Celsius,
Expand All @@ -252,14 +255,15 @@ public enum HMCharacteristicMetadataUnits {
Seconds,
[iOS (9,3)][Watch(2,2)]
Lux,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
PartsPerMillion,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
MicrogramsPerCubicMeter,
}

// conveniance enum (ObjC uses NSString)
[iOS (8,0)]
[TV (10,0)]
[Flags]
public enum HMServiceType {
None,
Expand Down Expand Up @@ -308,20 +312,21 @@ public enum HMServiceType {
Window,
[iOS (9,0)]
WindowCovering,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
CameraRtpStreamManagement,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
CameraControl,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
Microphone,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
Speaker,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
Doorbell,
}

// conveniance enum (ObjC uses NSString)
[iOS (8,0)]
[TV (10,0)]
public enum HMCharacteristicMetadataFormat {
None,
Bool,
Expand All @@ -339,6 +344,7 @@ public enum HMCharacteristicMetadataFormat {
}

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueDoorState : nint {
Open = 0,
Expand All @@ -349,6 +355,7 @@ public enum HMCharacteristicValueDoorState : nint {
}

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueHeatingCooling : nint {
Off = 0,
Expand All @@ -358,20 +365,23 @@ public enum HMCharacteristicValueHeatingCooling : nint {
}

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueRotationDirection : nint {
Clockwise = 0,
CounterClockwise
}

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueTemperatureUnit : nint {
Celsius = 0,
Fahrenheit
}

[iOS (8,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueLockMechanismState : nint {
Unsecured = 0,
Expand All @@ -381,6 +391,7 @@ public enum HMCharacteristicValueLockMechanismState : nint {
}

[iOS (8,0)]
[TV (10,0)]
[Native]
// in iOS 8.3 this was renamed HMCharacteristicValueLockMechanismLastKnownAction but that would be a breaking change for us
public enum HMCharacteristicValueLockMechanism : nint {
Expand All @@ -398,13 +409,15 @@ public enum HMCharacteristicValueLockMechanism : nint {
}

[iOS (9,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueAirParticulate : nint {
Size2_5 = 0,
Size10
}

[iOS (9,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueCurrentSecuritySystemState : nint {
StayArm = 0,
Expand All @@ -415,6 +428,7 @@ public enum HMCharacteristicValueCurrentSecuritySystemState : nint {
}

[iOS (9,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValuePositionState : nint {
Closing = 0,
Expand All @@ -423,6 +437,7 @@ public enum HMCharacteristicValuePositionState : nint {
}

[iOS (9,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueTargetSecuritySystemState : nint {
StayArm = 0,
Expand Down Expand Up @@ -517,18 +532,20 @@ public enum HMCharacteristicValueSecuritySystemAlarmType : nint {

// conveniance enum (ObjC uses NSString)
[iOS (9,0)]
[TV (10,0)]
public enum HMActionSetType {
Unknown = -1,
WakeUp,
Sleep,
HomeDeparture,
HomeArrival,
UserDefined,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
TriggerOwned,
}

[iOS (9,0)]
[TV (10,0)]
// conveniance enum (ObjC uses NSString)
public enum HMAccessoryCategoryType {
Other = 0,
Expand All @@ -537,7 +554,7 @@ public enum HMAccessoryCategoryType {
Door,
DoorLock,
Fan,
#if !WATCH
#if !WATCH && !TVOS
[Obsolete ("Use GarageDoorOpener instead")]
DoorOpener,
GarageDoorOpener = DoorOpener,
Expand All @@ -552,22 +569,24 @@ public enum HMAccessoryCategoryType {
Thermostat,
Window,
WindowCovering,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
RangeExtender,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
IPCamera,
[iOS (10,0), Watch (3,0), TV (10,0)]
[iOS (10,0), Watch (3,0)]
VideoDoorbell,
}

[iOS (9,0)]
[TV (10,0)]
// conveniance enum (ObjC uses NSString)
public enum HMSignificantEvent {
Sunrise,
Sunset,
}

[iOS (9,0)]
[TV (10,0)]
[Native]
public enum HMCharacteristicValueAirQuality : nint {
Unknown = 0,
Expand All @@ -579,6 +598,7 @@ public enum HMCharacteristicValueAirQuality : nint {
}

[iOS (10,0)]
[TV (10,0)]
[Native]
public enum HMCameraStreamState : nuint
{
Expand All @@ -589,6 +609,7 @@ public enum HMCameraStreamState : nuint
}

[iOS (10,0)]
[TV (10,0)]
[Native]
public enum HMCameraAudioStreamSetting : nuint
{
Expand Down
1 change: 1 addition & 0 deletions src/HomeKit/HMHome.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
namespace XamCore.HomeKit {

[iOS (8,0)]
[TV (10,0)]
public partial class HMHome
{
public HMService [] GetServices (HMServiceType serviceTypes)
Expand Down
1 change: 1 addition & 0 deletions src/HomeKit/HMService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

namespace XamCore.HomeKit {

[TV (10,0)]
[iOS (8,0)]
public partial class HMService {

Expand Down
Loading

0 comments on commit b6e7eb0

Please sign in to comment.