1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
use crate::serialize_vec_enum_option;
use serde::{Deserialize, Serialize};

/// Wireless Interfaces
#[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq)]
pub struct WirelessInterfaces {
    /// A Boolean value indicating whether your app can access information about the
    /// connected Wi-Fi network.
    ///
    /// This key indicates whether your app may use the CNCopyCurrentNetworkInfo function
    /// to obtain information about the current Wi-Fi network.
    ///
    /// To add this entitlement to your app, enable the Access WiFi Information capability
    /// in Xcode.
    ///
    /// ## Availability
    /// * iOS 12.0+
    ///
    /// ## Framework
    /// * System Configuration
    #[serde(
        rename = "com.apple.developer.networking.wifi-info",
        skip_serializing_if = "Option::is_none"
    )]
    pub access_wifi_information: Option<bool>,
    /// A Boolean value that indicates whether your app may configure MFi Wi-Fi
    /// accessories.
    ///
    /// This key indicates whether your app may configure third-party hardware accessories
    /// that use Apple's MFi licensed technology to connect to Apple devices.
    ///
    /// To add this entitlement to your app, enable the Wireless Accessory Configuration
    /// capability in Xcode.
    ///
    /// ## Availability
    /// * iOS 3.0+
    ///
    /// ## Framework
    /// * External Accessory
    #[serde(
        rename = "com.apple.external-accessory.wireless-configuration",
        skip_serializing_if = "Option::is_none"
    )]
    pub wireless_accessory_configuration: Option<bool>,
    /// A Boolean value indicating whether your app may use Multipath protocols to
    /// seamlessly transition between Wi-Fi and cellular networks.
    ///
    /// This key Indicates whether your app may use Multipath protocols, such as Multipath
    /// TCP, to smoothly hand over traffic from one interface to another.
    ///
    /// To add this entitlement to your app, enable the Multipath capability in Xcode.
    ///
    /// ## Availability
    /// * iOS 3.0+
    ///
    /// ## Framework
    /// * Foundation
    #[serde(
        rename = "com.apple.developer.networking.multipath",
        skip_serializing_if = "Option::is_none"
    )]
    pub multipath: Option<bool>,
    /// A Boolean value indicating whether your app can use the hotspot manager to
    /// configure Wi-Fi networks.
    ///
    /// This key indicates whether your app may use the NEHotspotConfigurationManager and
    /// NEHotspotConfiguration classes to configure Wi-Fi networks.
    ///
    /// To add this entitlement to your app, enable the Hotspot Configuration capability
    /// in Xcode.
    ///
    /// ## Availability
    /// * iOS 11.0+
    ///
    /// ## Framework
    /// * Network Extension
    #[serde(
        rename = "com.apple.developer.networking.HotspotConfiguration",
        skip_serializing_if = "Option::is_none"
    )]
    pub hotspot_configuration: Option<bool>,
    /// The Near Field Communication data formats an app can read.
    ///
    /// To add this entitlement to your app, enable the Near Field Communication Tag
    /// Reading capability in Xcode.
    ///
    /// ## Availability
    /// * iOS 11.0+
    ///
    /// ## Framework
    /// * Core NFC
    #[serde(
        rename = "com.apple.developer.nfc.readersession.formats",
        skip_serializing_if = "Option::is_none",
        serialize_with = "serialize_vec_enum_option"
    )]
    pub near_field_communication_tag_reader_session_formats:
        Option<Vec<NearFieldCommunicationTagReaderSessionFormats>>,
}

/// Near Field Communication Tag Reader Session Formats
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub enum NearFieldCommunicationTagReaderSessionFormats {
    /// Allows read and write access to a tag using NFCTagReaderSession.
    #[serde(rename = "TAG")]
    Tag,
}