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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;

use crate::*;

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceHTTP: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceHTTPS: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceFTP: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceHTTPProxy: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceHTTPSProxy: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceFTPProxy: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLProtectionSpaceSOCKSProxy: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodDefault: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodHTTPBasic: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodHTTPDigest: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodHTMLForm: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodNTLM: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodNegotiate: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodClientCertificate: &'static NSString;
}

extern "C" {
    #[cfg(feature = "NSString")]
    pub static NSURLAuthenticationMethodServerTrust: &'static NSString;
}

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct NSURLProtectionSpace;

    unsafe impl ClassType for NSURLProtectionSpace {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

unsafe impl Send for NSURLProtectionSpace {}

unsafe impl Sync for NSURLProtectionSpace {}

#[cfg(feature = "NSObject")]
unsafe impl NSCoding for NSURLProtectionSpace {}

#[cfg(feature = "NSObject")]
unsafe impl NSCopying for NSURLProtectionSpace {}

unsafe impl NSObjectProtocol for NSURLProtectionSpace {}

#[cfg(feature = "NSObject")]
unsafe impl NSSecureCoding for NSURLProtectionSpace {}

extern_methods!(
    unsafe impl NSURLProtectionSpace {
        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Init initWithHost:port:protocol:realm:authenticationMethod:)]
        pub unsafe fn initWithHost_port_protocol_realm_authenticationMethod(
            this: Allocated<Self>,
            host: &NSString,
            port: NSInteger,
            protocol: Option<&NSString>,
            realm: Option<&NSString>,
            authentication_method: Option<&NSString>,
        ) -> Retained<Self>;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Init initWithProxyHost:port:type:realm:authenticationMethod:)]
        pub unsafe fn initWithProxyHost_port_type_realm_authenticationMethod(
            this: Allocated<Self>,
            host: &NSString,
            port: NSInteger,
            r#type: Option<&NSString>,
            realm: Option<&NSString>,
            authentication_method: Option<&NSString>,
        ) -> Retained<Self>;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Other realm)]
        pub unsafe fn realm(&self) -> Option<Retained<NSString>>;

        #[method(receivesCredentialSecurely)]
        pub unsafe fn receivesCredentialSecurely(&self) -> bool;

        #[method(isProxy)]
        pub unsafe fn isProxy(&self) -> bool;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Other host)]
        pub unsafe fn host(&self) -> Retained<NSString>;

        #[method(port)]
        pub unsafe fn port(&self) -> NSInteger;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Other proxyType)]
        pub unsafe fn proxyType(&self) -> Option<Retained<NSString>>;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Other protocol)]
        pub unsafe fn protocol(&self) -> Option<Retained<NSString>>;

        #[cfg(feature = "NSString")]
        #[method_id(@__retain_semantics Other authenticationMethod)]
        pub unsafe fn authenticationMethod(&self) -> Retained<NSString>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    unsafe impl NSURLProtectionSpace {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Retained<Self>;
    }
);

extern_methods!(
    /// NSClientCertificateSpace
    unsafe impl NSURLProtectionSpace {
        #[cfg(all(feature = "NSArray", feature = "NSData"))]
        #[method_id(@__retain_semantics Other distinguishedNames)]
        pub unsafe fn distinguishedNames(&self) -> Option<Retained<NSArray<NSData>>>;
    }
);

extern_methods!(
    /// NSServerTrustValidationSpace
    unsafe impl NSURLProtectionSpace {}
);