blob: 7819d03415dfc874289cfb37758a4c9d3ec9c14a [file] [log] [blame]
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
@_exported import Intents
import Foundation
#if os(iOS) || os(watchOS)
@available(iOS 10.0, watchOS 3.2, *)
extension INRequestRideIntent {
@nonobjc
public convenience init(
pickupLocation: CLPlacemark? = nil,
dropOffLocation: CLPlacemark? = nil,
rideOptionName: INSpeakableString? = nil,
partySize: Int? = nil,
paymentMethod: INPaymentMethod? = nil,
scheduledPickupTime: INDateComponentsRange? = nil
) {
if #available(iOS 10.3, *) {
self.init(__pickupLocation: pickupLocation,
dropOffLocation: dropOffLocation,
rideOptionName: rideOptionName,
partySize: partySize.map { NSNumber(value: $0) },
paymentMethod: paymentMethod,
scheduledPickupTime: scheduledPickupTime)
} else {
#if os(iOS)
self.init(__pickupLocation: pickupLocation,
dropOffLocation: dropOffLocation,
rideOptionName: rideOptionName,
partySize: partySize.map { NSNumber(value: $0) },
paymentMethod: paymentMethod)
#else
fatalError("The initializer is not available")
#endif
}
}
@nonobjc
public final var partySize: Int? {
return __partySize?.intValue
}
}
#endif