1 #[cfg(feature = "ApplicationModel_Payments_Provider")]
5 pub struct IPaymentAddress(::windows
::core
::IUnknown
);
6 unsafe impl ::windows
::core
::Interface
for IPaymentAddress
{
7 type Vtable
= IPaymentAddress_Vtbl
;
9 impl ::core
::clone
::Clone
for IPaymentAddress
{
10 fn clone(&self) -> Self {
14 unsafe impl ::windows
::core
::ComInterface
for IPaymentAddress
{
15 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x5f2264e9_6f3a_4166_a018_0a0b06bb32b5);
19 pub struct IPaymentAddress_Vtbl
{
20 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
21 pub Country
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
22 pub SetCountry
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
23 #[cfg(feature = "Foundation_Collections")]
24 pub AddressLines
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
25 #[cfg(not(feature = "Foundation_Collections"))]
27 #[cfg(feature = "Foundation_Collections")]
28 pub SetAddressLines
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
29 #[cfg(not(feature = "Foundation_Collections"))]
30 SetAddressLines
: usize,
31 pub Region
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
32 pub SetRegion
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
33 pub City
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
34 pub SetCity
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
35 pub DependentLocality
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
36 pub SetDependentLocality
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
37 pub PostalCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
38 pub SetPostalCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
39 pub SortingCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
40 pub SetSortingCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
41 pub LanguageCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
42 pub SetLanguageCode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
43 pub Organization
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
44 pub SetOrganization
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
45 pub Recipient
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
46 pub SetRecipient
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
47 pub PhoneNumber
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
48 pub SetPhoneNumber
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
49 #[cfg(feature = "Foundation_Collections")]
50 pub Properties
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
51 #[cfg(not(feature = "Foundation_Collections"))]
56 pub struct IPaymentCanMakePaymentResult(::windows
::core
::IUnknown
);
57 unsafe impl ::windows
::core
::Interface
for IPaymentCanMakePaymentResult
{
58 type Vtable
= IPaymentCanMakePaymentResult_Vtbl
;
60 impl ::core
::clone
::Clone
for IPaymentCanMakePaymentResult
{
61 fn clone(&self) -> Self {
65 unsafe impl ::windows
::core
::ComInterface
for IPaymentCanMakePaymentResult
{
66 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x7696fe55_d5d3_4d3d_b345_45591759c510);
70 pub struct IPaymentCanMakePaymentResult_Vtbl
{
71 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
72 pub Status
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentCanMakePaymentResultStatus
) -> ::windows
::core
::HRESULT
,
76 pub struct IPaymentCanMakePaymentResultFactory(::windows
::core
::IUnknown
);
77 unsafe impl ::windows
::core
::Interface
for IPaymentCanMakePaymentResultFactory
{
78 type Vtable
= IPaymentCanMakePaymentResultFactory_Vtbl
;
80 impl ::core
::clone
::Clone
for IPaymentCanMakePaymentResultFactory
{
81 fn clone(&self) -> Self {
85 unsafe impl ::windows
::core
::ComInterface
for IPaymentCanMakePaymentResultFactory
{
86 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xbbdcaa3e_7d49_4f69_aa53_2a0f8164b7c9);
90 pub struct IPaymentCanMakePaymentResultFactory_Vtbl
{
91 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
92 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: PaymentCanMakePaymentResultStatus
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
96 pub struct IPaymentCurrencyAmount(::windows
::core
::IUnknown
);
97 unsafe impl ::windows
::core
::Interface
for IPaymentCurrencyAmount
{
98 type Vtable
= IPaymentCurrencyAmount_Vtbl
;
100 impl ::core
::clone
::Clone
for IPaymentCurrencyAmount
{
101 fn clone(&self) -> Self {
105 unsafe impl ::windows
::core
::ComInterface
for IPaymentCurrencyAmount
{
106 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xe3a3e9e0_b41f_4987_bdcb_071331f2daa4);
110 pub struct IPaymentCurrencyAmount_Vtbl
{
111 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
112 pub Currency
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
113 pub SetCurrency
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
114 pub CurrencySystem
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
115 pub SetCurrencySystem
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
116 pub Value
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
117 pub SetValue
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
121 pub struct IPaymentCurrencyAmountFactory(::windows
::core
::IUnknown
);
122 unsafe impl ::windows
::core
::Interface
for IPaymentCurrencyAmountFactory
{
123 type Vtable
= IPaymentCurrencyAmountFactory_Vtbl
;
125 impl ::core
::clone
::Clone
for IPaymentCurrencyAmountFactory
{
126 fn clone(&self) -> Self {
130 unsafe impl ::windows
::core
::ComInterface
for IPaymentCurrencyAmountFactory
{
131 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x3257d338_140c_4575_8535_f773178c09a7);
135 pub struct IPaymentCurrencyAmountFactory_Vtbl
{
136 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
137 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, currency
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
138 pub CreateWithCurrencySystem
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, currency
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, currencysystem
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
142 pub struct IPaymentDetails(::windows
::core
::IUnknown
);
143 unsafe impl ::windows
::core
::Interface
for IPaymentDetails
{
144 type Vtable
= IPaymentDetails_Vtbl
;
146 impl ::core
::clone
::Clone
for IPaymentDetails
{
147 fn clone(&self) -> Self {
151 unsafe impl ::windows
::core
::ComInterface
for IPaymentDetails
{
152 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x53bb2d7d_e0eb_4053_8eae_ce7c48e02945);
156 pub struct IPaymentDetails_Vtbl
{
157 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
158 pub Total
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
159 pub SetTotal
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
160 #[cfg(feature = "Foundation_Collections")]
161 pub DisplayItems
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
162 #[cfg(not(feature = "Foundation_Collections"))]
164 #[cfg(feature = "Foundation_Collections")]
165 pub SetDisplayItems
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
166 #[cfg(not(feature = "Foundation_Collections"))]
167 SetDisplayItems
: usize,
168 #[cfg(feature = "Foundation_Collections")]
169 pub ShippingOptions
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
170 #[cfg(not(feature = "Foundation_Collections"))]
171 ShippingOptions
: usize,
172 #[cfg(feature = "Foundation_Collections")]
173 pub SetShippingOptions
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
174 #[cfg(not(feature = "Foundation_Collections"))]
175 SetShippingOptions
: usize,
176 #[cfg(feature = "Foundation_Collections")]
177 pub Modifiers
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
178 #[cfg(not(feature = "Foundation_Collections"))]
180 #[cfg(feature = "Foundation_Collections")]
181 pub SetModifiers
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
182 #[cfg(not(feature = "Foundation_Collections"))]
187 pub struct IPaymentDetailsFactory(::windows
::core
::IUnknown
);
188 unsafe impl ::windows
::core
::Interface
for IPaymentDetailsFactory
{
189 type Vtable
= IPaymentDetailsFactory_Vtbl
;
191 impl ::core
::clone
::Clone
for IPaymentDetailsFactory
{
192 fn clone(&self) -> Self {
196 unsafe impl ::windows
::core
::ComInterface
for IPaymentDetailsFactory
{
197 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xcfe8afee_c0ea_4ca1_8bc7_6de67b1f3763);
201 pub struct IPaymentDetailsFactory_Vtbl
{
202 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
203 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, total
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
204 #[cfg(feature = "Foundation_Collections")]
205 pub CreateWithDisplayItems
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, total
: *mut ::core
::ffi
::c_void
, displayitems
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
206 #[cfg(not(feature = "Foundation_Collections"))]
207 CreateWithDisplayItems
: usize,
211 pub struct IPaymentDetailsModifier(::windows
::core
::IUnknown
);
212 unsafe impl ::windows
::core
::Interface
for IPaymentDetailsModifier
{
213 type Vtable
= IPaymentDetailsModifier_Vtbl
;
215 impl ::core
::clone
::Clone
for IPaymentDetailsModifier
{
216 fn clone(&self) -> Self {
220 unsafe impl ::windows
::core
::ComInterface
for IPaymentDetailsModifier
{
221 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xbe1c7d65_4323_41d7_b305_dfcb765f69de);
225 pub struct IPaymentDetailsModifier_Vtbl
{
226 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
227 pub JsonData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
228 #[cfg(feature = "Foundation_Collections")]
229 pub SupportedMethodIds
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
230 #[cfg(not(feature = "Foundation_Collections"))]
231 SupportedMethodIds
: usize,
232 pub Total
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
233 #[cfg(feature = "Foundation_Collections")]
234 pub AdditionalDisplayItems
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
235 #[cfg(not(feature = "Foundation_Collections"))]
236 AdditionalDisplayItems
: usize,
240 pub struct IPaymentDetailsModifierFactory(::windows
::core
::IUnknown
);
241 unsafe impl ::windows
::core
::Interface
for IPaymentDetailsModifierFactory
{
242 type Vtable
= IPaymentDetailsModifierFactory_Vtbl
;
244 impl ::core
::clone
::Clone
for IPaymentDetailsModifierFactory
{
245 fn clone(&self) -> Self {
249 unsafe impl ::windows
::core
::ComInterface
for IPaymentDetailsModifierFactory
{
250 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x79005286_54de_429c_9e4f_5dce6e10ebce);
254 pub struct IPaymentDetailsModifierFactory_Vtbl
{
255 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
256 #[cfg(feature = "Foundation_Collections")]
257 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, supportedmethodids
: *mut ::core
::ffi
::c_void
, total
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
258 #[cfg(not(feature = "Foundation_Collections"))]
260 #[cfg(feature = "Foundation_Collections")]
261 pub CreateWithAdditionalDisplayItems
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, supportedmethodids
: *mut ::core
::ffi
::c_void
, total
: *mut ::core
::ffi
::c_void
, additionaldisplayitems
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
262 #[cfg(not(feature = "Foundation_Collections"))]
263 CreateWithAdditionalDisplayItems
: usize,
264 #[cfg(feature = "Foundation_Collections")]
265 pub CreateWithAdditionalDisplayItemsAndJsonData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, supportedmethodids
: *mut ::core
::ffi
::c_void
, total
: *mut ::core
::ffi
::c_void
, additionaldisplayitems
: *mut ::core
::ffi
::c_void
, jsondata
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
266 #[cfg(not(feature = "Foundation_Collections"))]
267 CreateWithAdditionalDisplayItemsAndJsonData
: usize,
271 pub struct IPaymentItem(::windows
::core
::IUnknown
);
272 unsafe impl ::windows
::core
::Interface
for IPaymentItem
{
273 type Vtable
= IPaymentItem_Vtbl
;
275 impl ::core
::clone
::Clone
for IPaymentItem
{
276 fn clone(&self) -> Self {
280 unsafe impl ::windows
::core
::ComInterface
for IPaymentItem
{
281 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x685ac88b_79b2_4b76_9e03_a876223dfe72);
285 pub struct IPaymentItem_Vtbl
{
286 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
287 pub Label
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
288 pub SetLabel
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
289 pub Amount
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
290 pub SetAmount
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
291 pub Pending
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
292 pub SetPending
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
296 pub struct IPaymentItemFactory(::windows
::core
::IUnknown
);
297 unsafe impl ::windows
::core
::Interface
for IPaymentItemFactory
{
298 type Vtable
= IPaymentItemFactory_Vtbl
;
300 impl ::core
::clone
::Clone
for IPaymentItemFactory
{
301 fn clone(&self) -> Self {
305 unsafe impl ::windows
::core
::ComInterface
for IPaymentItemFactory
{
306 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xc6ab7ad8_2503_4d1d_a778_02b2e5927b2c);
310 pub struct IPaymentItemFactory_Vtbl
{
311 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
312 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, label
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, amount
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
316 pub struct IPaymentMediator(::windows
::core
::IUnknown
);
317 unsafe impl ::windows
::core
::Interface
for IPaymentMediator
{
318 type Vtable
= IPaymentMediator_Vtbl
;
320 impl ::core
::clone
::Clone
for IPaymentMediator
{
321 fn clone(&self) -> Self {
325 unsafe impl ::windows
::core
::ComInterface
for IPaymentMediator
{
326 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xfb0ee829_ec0c_449a_83da_7ae3073365a2);
330 pub struct IPaymentMediator_Vtbl
{
331 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
332 #[cfg(feature = "Foundation_Collections")]
333 pub GetSupportedMethodIdsAsync
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
334 #[cfg(not(feature = "Foundation_Collections"))]
335 GetSupportedMethodIdsAsync
: usize,
336 #[cfg(feature = "Foundation")]
337 pub SubmitPaymentRequestAsync
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentrequest
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
338 #[cfg(not(feature = "Foundation"))]
339 SubmitPaymentRequestAsync
: usize,
340 #[cfg(feature = "Foundation")]
341 pub SubmitPaymentRequestWithChangeHandlerAsync
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentrequest
: *mut ::core
::ffi
::c_void
, changehandler
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
342 #[cfg(not(feature = "Foundation"))]
343 SubmitPaymentRequestWithChangeHandlerAsync
: usize,
347 pub struct IPaymentMediator2(::windows
::core
::IUnknown
);
348 unsafe impl ::windows
::core
::Interface
for IPaymentMediator2
{
349 type Vtable
= IPaymentMediator2_Vtbl
;
351 impl ::core
::clone
::Clone
for IPaymentMediator2
{
352 fn clone(&self) -> Self {
356 unsafe impl ::windows
::core
::ComInterface
for IPaymentMediator2
{
357 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xceef98f1_e407_4128_8e73_d93d5f822786);
361 pub struct IPaymentMediator2_Vtbl
{
362 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
363 #[cfg(feature = "Foundation")]
364 pub CanMakePaymentAsync
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentrequest
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
365 #[cfg(not(feature = "Foundation"))]
366 CanMakePaymentAsync
: usize,
370 pub struct IPaymentMerchantInfo(::windows
::core
::IUnknown
);
371 unsafe impl ::windows
::core
::Interface
for IPaymentMerchantInfo
{
372 type Vtable
= IPaymentMerchantInfo_Vtbl
;
374 impl ::core
::clone
::Clone
for IPaymentMerchantInfo
{
375 fn clone(&self) -> Self {
379 unsafe impl ::windows
::core
::ComInterface
for IPaymentMerchantInfo
{
380 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x63445050_0e94_4ed6_aacb_e6012bd327a7);
384 pub struct IPaymentMerchantInfo_Vtbl
{
385 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
386 pub PackageFullName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
387 #[cfg(feature = "Foundation")]
388 pub Uri
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
389 #[cfg(not(feature = "Foundation"))]
394 pub struct IPaymentMerchantInfoFactory(::windows
::core
::IUnknown
);
395 unsafe impl ::windows
::core
::Interface
for IPaymentMerchantInfoFactory
{
396 type Vtable
= IPaymentMerchantInfoFactory_Vtbl
;
398 impl ::core
::clone
::Clone
for IPaymentMerchantInfoFactory
{
399 fn clone(&self) -> Self {
403 unsafe impl ::windows
::core
::ComInterface
for IPaymentMerchantInfoFactory
{
404 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x9e89ced3_ccb7_4167_a8ec_e10ae96dbcd1);
408 pub struct IPaymentMerchantInfoFactory_Vtbl
{
409 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
410 #[cfg(feature = "Foundation")]
411 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, uri
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
412 #[cfg(not(feature = "Foundation"))]
417 pub struct IPaymentMethodData(::windows
::core
::IUnknown
);
418 unsafe impl ::windows
::core
::Interface
for IPaymentMethodData
{
419 type Vtable
= IPaymentMethodData_Vtbl
;
421 impl ::core
::clone
::Clone
for IPaymentMethodData
{
422 fn clone(&self) -> Self {
426 unsafe impl ::windows
::core
::ComInterface
for IPaymentMethodData
{
427 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xd1d3caf4_de98_4129_b1b7_c3ad86237bf4);
431 pub struct IPaymentMethodData_Vtbl
{
432 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
433 #[cfg(feature = "Foundation_Collections")]
434 pub SupportedMethodIds
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
435 #[cfg(not(feature = "Foundation_Collections"))]
436 SupportedMethodIds
: usize,
437 pub JsonData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
441 pub struct IPaymentMethodDataFactory(::windows
::core
::IUnknown
);
442 unsafe impl ::windows
::core
::Interface
for IPaymentMethodDataFactory
{
443 type Vtable
= IPaymentMethodDataFactory_Vtbl
;
445 impl ::core
::clone
::Clone
for IPaymentMethodDataFactory
{
446 fn clone(&self) -> Self {
450 unsafe impl ::windows
::core
::ComInterface
for IPaymentMethodDataFactory
{
451 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x8addd27f_9baa_4a82_8342_a8210992a36b);
455 pub struct IPaymentMethodDataFactory_Vtbl
{
456 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
457 #[cfg(feature = "Foundation_Collections")]
458 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, supportedmethodids
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
459 #[cfg(not(feature = "Foundation_Collections"))]
461 #[cfg(feature = "Foundation_Collections")]
462 pub CreateWithJsonData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, supportedmethodids
: *mut ::core
::ffi
::c_void
, jsondata
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
463 #[cfg(not(feature = "Foundation_Collections"))]
464 CreateWithJsonData
: usize,
468 pub struct IPaymentOptions(::windows
::core
::IUnknown
);
469 unsafe impl ::windows
::core
::Interface
for IPaymentOptions
{
470 type Vtable
= IPaymentOptions_Vtbl
;
472 impl ::core
::clone
::Clone
for IPaymentOptions
{
473 fn clone(&self) -> Self {
477 unsafe impl ::windows
::core
::ComInterface
for IPaymentOptions
{
478 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xaaa30854_1f2b_4365_8251_01b58915a5bc);
482 pub struct IPaymentOptions_Vtbl
{
483 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
484 pub RequestPayerEmail
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
485 pub SetRequestPayerEmail
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
486 pub RequestPayerName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
487 pub SetRequestPayerName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
488 pub RequestPayerPhoneNumber
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
489 pub SetRequestPayerPhoneNumber
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: PaymentOptionPresence
) -> ::windows
::core
::HRESULT
,
490 pub RequestShipping
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
491 pub SetRequestShipping
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
492 pub ShippingType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentShippingType
) -> ::windows
::core
::HRESULT
,
493 pub SetShippingType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: PaymentShippingType
) -> ::windows
::core
::HRESULT
,
497 pub struct IPaymentRequest(::windows
::core
::IUnknown
);
498 unsafe impl ::windows
::core
::Interface
for IPaymentRequest
{
499 type Vtable
= IPaymentRequest_Vtbl
;
501 impl ::core
::clone
::Clone
for IPaymentRequest
{
502 fn clone(&self) -> Self {
506 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequest
{
507 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xb74942e1_ed7b_47eb_bc08_78cc5d6896b6);
511 pub struct IPaymentRequest_Vtbl
{
512 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
513 pub MerchantInfo
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
514 pub Details
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
515 #[cfg(feature = "Foundation_Collections")]
516 pub MethodData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
517 #[cfg(not(feature = "Foundation_Collections"))]
519 pub Options
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
523 pub struct IPaymentRequest2(::windows
::core
::IUnknown
);
524 unsafe impl ::windows
::core
::Interface
for IPaymentRequest2
{
525 type Vtable
= IPaymentRequest2_Vtbl
;
527 impl ::core
::clone
::Clone
for IPaymentRequest2
{
528 fn clone(&self) -> Self {
532 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequest2
{
533 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xb63ccfb5_5998_493e_a04c_67048a50f141);
537 pub struct IPaymentRequest2_Vtbl
{
538 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
539 pub Id
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
543 pub struct IPaymentRequestChangedArgs(::windows
::core
::IUnknown
);
544 unsafe impl ::windows
::core
::Interface
for IPaymentRequestChangedArgs
{
545 type Vtable
= IPaymentRequestChangedArgs_Vtbl
;
547 impl ::core
::clone
::Clone
for IPaymentRequestChangedArgs
{
548 fn clone(&self) -> Self {
552 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestChangedArgs
{
553 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xc6145e44_cd8b_4be4_b555_27c99194c0c5);
557 pub struct IPaymentRequestChangedArgs_Vtbl
{
558 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
559 pub ChangeKind
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentRequestChangeKind
) -> ::windows
::core
::HRESULT
,
560 pub ShippingAddress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
561 pub SelectedShippingOption
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
562 pub Acknowledge
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, changeresult
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
566 pub struct IPaymentRequestChangedResult(::windows
::core
::IUnknown
);
567 unsafe impl ::windows
::core
::Interface
for IPaymentRequestChangedResult
{
568 type Vtable
= IPaymentRequestChangedResult_Vtbl
;
570 impl ::core
::clone
::Clone
for IPaymentRequestChangedResult
{
571 fn clone(&self) -> Self {
575 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestChangedResult
{
576 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xdf699e5c_16c4_47ad_9401_8440ec0757db);
580 pub struct IPaymentRequestChangedResult_Vtbl
{
581 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
582 pub ChangeAcceptedByMerchant
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
583 pub SetChangeAcceptedByMerchant
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
584 pub Message
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
585 pub SetMessage
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
586 pub UpdatedPaymentDetails
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
587 pub SetUpdatedPaymentDetails
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
591 pub struct IPaymentRequestChangedResultFactory(::windows
::core
::IUnknown
);
592 unsafe impl ::windows
::core
::Interface
for IPaymentRequestChangedResultFactory
{
593 type Vtable
= IPaymentRequestChangedResultFactory_Vtbl
;
595 impl ::core
::clone
::Clone
for IPaymentRequestChangedResultFactory
{
596 fn clone(&self) -> Self {
600 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestChangedResultFactory
{
601 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x08740f56_1d33_4431_814b_67ea24bf21db);
605 pub struct IPaymentRequestChangedResultFactory_Vtbl
{
606 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
607 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, changeacceptedbymerchant
: bool
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
608 pub CreateWithPaymentDetails
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, changeacceptedbymerchant
: bool
, updatedpaymentdetails
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
612 pub struct IPaymentRequestFactory(::windows
::core
::IUnknown
);
613 unsafe impl ::windows
::core
::Interface
for IPaymentRequestFactory
{
614 type Vtable
= IPaymentRequestFactory_Vtbl
;
616 impl ::core
::clone
::Clone
for IPaymentRequestFactory
{
617 fn clone(&self) -> Self {
621 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestFactory
{
622 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x3e8a79dc_6b74_42d3_b103_f0de35fb1848);
626 pub struct IPaymentRequestFactory_Vtbl
{
627 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
628 #[cfg(feature = "Foundation_Collections")]
629 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, details
: *mut ::core
::ffi
::c_void
, methoddata
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
630 #[cfg(not(feature = "Foundation_Collections"))]
632 #[cfg(feature = "Foundation_Collections")]
633 pub CreateWithMerchantInfo
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, details
: *mut ::core
::ffi
::c_void
, methoddata
: *mut ::core
::ffi
::c_void
, merchantinfo
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
634 #[cfg(not(feature = "Foundation_Collections"))]
635 CreateWithMerchantInfo
: usize,
636 #[cfg(feature = "Foundation_Collections")]
637 pub CreateWithMerchantInfoAndOptions
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, details
: *mut ::core
::ffi
::c_void
, methoddata
: *mut ::core
::ffi
::c_void
, merchantinfo
: *mut ::core
::ffi
::c_void
, options
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
638 #[cfg(not(feature = "Foundation_Collections"))]
639 CreateWithMerchantInfoAndOptions
: usize,
643 pub struct IPaymentRequestFactory2(::windows
::core
::IUnknown
);
644 unsafe impl ::windows
::core
::Interface
for IPaymentRequestFactory2
{
645 type Vtable
= IPaymentRequestFactory2_Vtbl
;
647 impl ::core
::clone
::Clone
for IPaymentRequestFactory2
{
648 fn clone(&self) -> Self {
652 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestFactory2
{
653 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xe6ce1325_a506_4372_b7ef_1a031d5662d1);
657 pub struct IPaymentRequestFactory2_Vtbl
{
658 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
659 #[cfg(feature = "Foundation_Collections")]
660 pub CreateWithMerchantInfoOptionsAndId
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, details
: *mut ::core
::ffi
::c_void
, methoddata
: *mut ::core
::ffi
::c_void
, merchantinfo
: *mut ::core
::ffi
::c_void
, options
: *mut ::core
::ffi
::c_void
, id
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
661 #[cfg(not(feature = "Foundation_Collections"))]
662 CreateWithMerchantInfoOptionsAndId
: usize,
666 pub struct IPaymentRequestSubmitResult(::windows
::core
::IUnknown
);
667 unsafe impl ::windows
::core
::Interface
for IPaymentRequestSubmitResult
{
668 type Vtable
= IPaymentRequestSubmitResult_Vtbl
;
670 impl ::core
::clone
::Clone
for IPaymentRequestSubmitResult
{
671 fn clone(&self) -> Self {
675 unsafe impl ::windows
::core
::ComInterface
for IPaymentRequestSubmitResult
{
676 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x7b9c3912_30f2_4e90_b249_8ce7d78ffe56);
680 pub struct IPaymentRequestSubmitResult_Vtbl
{
681 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
682 pub Status
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut PaymentRequestStatus
) -> ::windows
::core
::HRESULT
,
683 pub Response
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
687 pub struct IPaymentResponse(::windows
::core
::IUnknown
);
688 unsafe impl ::windows
::core
::Interface
for IPaymentResponse
{
689 type Vtable
= IPaymentResponse_Vtbl
;
691 impl ::core
::clone
::Clone
for IPaymentResponse
{
692 fn clone(&self) -> Self {
696 unsafe impl ::windows
::core
::ComInterface
for IPaymentResponse
{
697 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xe1389457_8bd2_4888_9fa8_97985545108e);
701 pub struct IPaymentResponse_Vtbl
{
702 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
703 pub PaymentToken
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
704 pub ShippingOption
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
705 pub ShippingAddress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
706 pub PayerEmail
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
707 pub PayerName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
708 pub PayerPhoneNumber
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
709 #[cfg(feature = "Foundation")]
710 pub CompleteAsync
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, status
: PaymentRequestCompletionStatus
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
711 #[cfg(not(feature = "Foundation"))]
712 CompleteAsync
: usize,
716 pub struct IPaymentShippingOption(::windows
::core
::IUnknown
);
717 unsafe impl ::windows
::core
::Interface
for IPaymentShippingOption
{
718 type Vtable
= IPaymentShippingOption_Vtbl
;
720 impl ::core
::clone
::Clone
for IPaymentShippingOption
{
721 fn clone(&self) -> Self {
725 unsafe impl ::windows
::core
::ComInterface
for IPaymentShippingOption
{
726 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x13372ada_9753_4574_8966_93145a76c7f9);
730 pub struct IPaymentShippingOption_Vtbl
{
731 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
732 pub Label
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
733 pub SetLabel
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
734 pub Amount
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
735 pub SetAmount
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
736 pub Tag
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
737 pub SetTag
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
738 pub IsSelected
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
739 pub SetIsSelected
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
743 pub struct IPaymentShippingOptionFactory(::windows
::core
::IUnknown
);
744 unsafe impl ::windows
::core
::Interface
for IPaymentShippingOptionFactory
{
745 type Vtable
= IPaymentShippingOptionFactory_Vtbl
;
747 impl ::core
::clone
::Clone
for IPaymentShippingOptionFactory
{
748 fn clone(&self) -> Self {
752 unsafe impl ::windows
::core
::ComInterface
for IPaymentShippingOptionFactory
{
753 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x5de5f917_b2d7_446b_9d73_6123fbca3bc6);
757 pub struct IPaymentShippingOptionFactory_Vtbl
{
758 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
759 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, label
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, amount
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
760 pub CreateWithSelected
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, label
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, amount
: *mut ::core
::ffi
::c_void
, selected
: bool
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
761 pub CreateWithSelectedAndTag
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, label
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, amount
: *mut ::core
::ffi
::c_void
, selected
: bool
, tag
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
765 pub struct IPaymentToken(::windows
::core
::IUnknown
);
766 unsafe impl ::windows
::core
::Interface
for IPaymentToken
{
767 type Vtable
= IPaymentToken_Vtbl
;
769 impl ::core
::clone
::Clone
for IPaymentToken
{
770 fn clone(&self) -> Self {
774 unsafe impl ::windows
::core
::ComInterface
for IPaymentToken
{
775 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xbbcac013_ccd0_41f2_b2a1_0a2e4b5dce25);
779 pub struct IPaymentToken_Vtbl
{
780 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
781 pub PaymentMethodId
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
782 pub JsonDetails
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
786 pub struct IPaymentTokenFactory(::windows
::core
::IUnknown
);
787 unsafe impl ::windows
::core
::Interface
for IPaymentTokenFactory
{
788 type Vtable
= IPaymentTokenFactory_Vtbl
;
790 impl ::core
::clone
::Clone
for IPaymentTokenFactory
{
791 fn clone(&self) -> Self {
795 unsafe impl ::windows
::core
::ComInterface
for IPaymentTokenFactory
{
796 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x988cd7aa_4753_4904_8373_dd7b08b995c1);
800 pub struct IPaymentTokenFactory_Vtbl
{
801 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
802 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentmethodid
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
803 pub CreateWithJsonDetails
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentmethodid
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, jsondetails
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
805 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
807 pub struct PaymentAddress(::windows
::core
::IUnknown
);
808 impl PaymentAddress
{
809 pub fn new() -> ::windows
::core
::Result
<Self> {
810 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
812 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
813 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentAddress
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
814 SHARED
.call(callback
)
816 pub fn Country(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
819 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
820 (::windows
::core
::Interface
::vtable(this
).Country
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
823 pub fn SetCountry(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
825 unsafe { (::windows::core::Interface::vtable(this).SetCountry)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
827 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
828 #[cfg(feature = "Foundation_Collections")]
829 pub fn AddressLines(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>> {
832 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>();
833 (::windows
::core
::Interface
::vtable(this
).AddressLines
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
836 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
837 #[cfg(feature = "Foundation_Collections")]
838 pub fn SetAddressLines
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
840 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>,
843 unsafe { (::windows::core::Interface::vtable(this).SetAddressLines)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
845 pub fn Region(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
848 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
849 (::windows
::core
::Interface
::vtable(this
).Region
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
852 pub fn SetRegion(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
854 unsafe { (::windows::core::Interface::vtable(this).SetRegion)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
856 pub fn City(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
859 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
860 (::windows
::core
::Interface
::vtable(this
).City
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
863 pub fn SetCity(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
865 unsafe { (::windows::core::Interface::vtable(this).SetCity)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
867 pub fn DependentLocality(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
870 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
871 (::windows
::core
::Interface
::vtable(this
).DependentLocality
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
874 pub fn SetDependentLocality(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
876 unsafe { (::windows::core::Interface::vtable(this).SetDependentLocality)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
878 pub fn PostalCode(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
881 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
882 (::windows
::core
::Interface
::vtable(this
).PostalCode
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
885 pub fn SetPostalCode(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
887 unsafe { (::windows::core::Interface::vtable(this).SetPostalCode)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
889 pub fn SortingCode(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
892 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
893 (::windows
::core
::Interface
::vtable(this
).SortingCode
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
896 pub fn SetSortingCode(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
898 unsafe { (::windows::core::Interface::vtable(this).SetSortingCode)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
900 pub fn LanguageCode(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
903 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
904 (::windows
::core
::Interface
::vtable(this
).LanguageCode
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
907 pub fn SetLanguageCode(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
909 unsafe { (::windows::core::Interface::vtable(this).SetLanguageCode)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
911 pub fn Organization(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
914 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
915 (::windows
::core
::Interface
::vtable(this
).Organization
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
918 pub fn SetOrganization(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
920 unsafe { (::windows::core::Interface::vtable(this).SetOrganization)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
922 pub fn Recipient(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
925 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
926 (::windows
::core
::Interface
::vtable(this
).Recipient
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
929 pub fn SetRecipient(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
931 unsafe { (::windows::core::Interface::vtable(this).SetRecipient)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
933 pub fn PhoneNumber(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
936 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
937 (::windows
::core
::Interface
::vtable(this
).PhoneNumber
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
940 pub fn SetPhoneNumber(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
942 unsafe { (::windows::core::Interface::vtable(this).SetPhoneNumber)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
944 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
945 #[cfg(feature = "Foundation_Collections")]
946 pub fn Properties(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::ValueSet
> {
949 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::ValueSet
>();
950 (::windows
::core
::Interface
::vtable(this
).Properties
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
954 impl ::core
::cmp
::PartialEq
for PaymentAddress
{
955 fn eq(&self, other
: &Self) -> bool
{
959 impl ::core
::cmp
::Eq
for PaymentAddress {}
960 impl ::core
::fmt
::Debug
for PaymentAddress
{
961 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
962 f
.debug_tuple("PaymentAddress").field(&self.0).finish()
965 impl ::windows
::core
::RuntimeType
for PaymentAddress
{
966 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentAddress;{5f2264e9-6f3a-4166-a018-0a0b06bb32b5})");
968 impl ::core
::clone
::Clone
for PaymentAddress
{
969 fn clone(&self) -> Self {
973 unsafe impl ::windows
::core
::Interface
for PaymentAddress
{
974 type Vtable
= IPaymentAddress_Vtbl
;
976 unsafe impl ::windows
::core
::ComInterface
for PaymentAddress
{
977 const IID
: ::windows
::core
::GUID
= <IPaymentAddress
as ::windows
::core
::ComInterface
>::IID
;
979 impl ::windows
::core
::RuntimeName
for PaymentAddress
{
980 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentAddress";
982 ::windows
::imp
::interface_hierarchy
!(PaymentAddress
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
983 unsafe impl ::core
::marker
::Send
for PaymentAddress {}
984 unsafe impl ::core
::marker
::Sync
for PaymentAddress {}
985 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
987 pub struct PaymentCanMakePaymentResult(::windows
::core
::IUnknown
);
988 impl PaymentCanMakePaymentResult
{
989 pub fn Status(&self) -> ::windows
::core
::Result
<PaymentCanMakePaymentResultStatus
> {
992 let mut result__
= ::windows
::core
::zeroed
::<PaymentCanMakePaymentResultStatus
>();
993 (::windows
::core
::Interface
::vtable(this
).Status
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
996 pub fn Create(value
: PaymentCanMakePaymentResultStatus
) -> ::windows
::core
::Result
<PaymentCanMakePaymentResult
> {
997 Self::IPaymentCanMakePaymentResultFactory(|this
| unsafe {
998 let mut result__
= ::windows
::core
::zeroed
::<PaymentCanMakePaymentResult
>();
999 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), value
, &mut result__
).from_abi(result__
)
1003 pub fn IPaymentCanMakePaymentResultFactory
<R
, F
: FnOnce(&IPaymentCanMakePaymentResultFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1004 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentCanMakePaymentResult
, IPaymentCanMakePaymentResultFactory
> = ::windows
::imp
::FactoryCache
::new();
1005 SHARED
.call(callback
)
1008 impl ::core
::cmp
::PartialEq
for PaymentCanMakePaymentResult
{
1009 fn eq(&self, other
: &Self) -> bool
{
1013 impl ::core
::cmp
::Eq
for PaymentCanMakePaymentResult {}
1014 impl ::core
::fmt
::Debug
for PaymentCanMakePaymentResult
{
1015 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1016 f
.debug_tuple("PaymentCanMakePaymentResult").field(&self.0).finish()
1019 impl ::windows
::core
::RuntimeType
for PaymentCanMakePaymentResult
{
1020 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentCanMakePaymentResult;{7696fe55-d5d3-4d3d-b345-45591759c510})");
1022 impl ::core
::clone
::Clone
for PaymentCanMakePaymentResult
{
1023 fn clone(&self) -> Self {
1024 Self(self.0.clone())
1027 unsafe impl ::windows
::core
::Interface
for PaymentCanMakePaymentResult
{
1028 type Vtable
= IPaymentCanMakePaymentResult_Vtbl
;
1030 unsafe impl ::windows
::core
::ComInterface
for PaymentCanMakePaymentResult
{
1031 const IID
: ::windows
::core
::GUID
= <IPaymentCanMakePaymentResult
as ::windows
::core
::ComInterface
>::IID
;
1033 impl ::windows
::core
::RuntimeName
for PaymentCanMakePaymentResult
{
1034 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentCanMakePaymentResult";
1036 ::windows
::imp
::interface_hierarchy
!(PaymentCanMakePaymentResult
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1037 unsafe impl ::core
::marker
::Send
for PaymentCanMakePaymentResult {}
1038 unsafe impl ::core
::marker
::Sync
for PaymentCanMakePaymentResult {}
1039 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1040 #[repr(transparent)]
1041 pub struct PaymentCurrencyAmount(::windows
::core
::IUnknown
);
1042 impl PaymentCurrencyAmount
{
1043 pub fn Currency(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1046 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1047 (::windows
::core
::Interface
::vtable(this
).Currency
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1050 pub fn SetCurrency(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
1052 unsafe { (::windows::core::Interface::vtable(this).SetCurrency)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1054 pub fn CurrencySystem(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1057 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1058 (::windows
::core
::Interface
::vtable(this
).CurrencySystem
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1061 pub fn SetCurrencySystem(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
1063 unsafe { (::windows::core::Interface::vtable(this).SetCurrencySystem)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1065 pub fn Value(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1068 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1069 (::windows
::core
::Interface
::vtable(this
).Value
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1072 pub fn SetValue(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
1074 unsafe { (::windows::core::Interface::vtable(this).SetValue)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1076 pub fn Create(value
: &::windows
::core
::HSTRING
, currency
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentCurrencyAmount
> {
1077 Self::IPaymentCurrencyAmountFactory(|this
| unsafe {
1078 let mut result__
= ::windows
::core
::zeroed
::<PaymentCurrencyAmount
>();
1079 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(value
), ::core
::mem
::transmute_copy(currency
), &mut result__
).from_abi(result__
)
1082 pub fn CreateWithCurrencySystem(value
: &::windows
::core
::HSTRING
, currency
: &::windows
::core
::HSTRING
, currencysystem
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentCurrencyAmount
> {
1083 Self::IPaymentCurrencyAmountFactory(|this
| unsafe {
1084 let mut result__
= ::windows
::core
::zeroed
::<PaymentCurrencyAmount
>();
1085 (::windows
::core
::Interface
::vtable(this
).CreateWithCurrencySystem
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(value
), ::core
::mem
::transmute_copy(currency
), ::core
::mem
::transmute_copy(currencysystem
), &mut result__
).from_abi(result__
)
1089 pub fn IPaymentCurrencyAmountFactory
<R
, F
: FnOnce(&IPaymentCurrencyAmountFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1090 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentCurrencyAmount
, IPaymentCurrencyAmountFactory
> = ::windows
::imp
::FactoryCache
::new();
1091 SHARED
.call(callback
)
1094 impl ::core
::cmp
::PartialEq
for PaymentCurrencyAmount
{
1095 fn eq(&self, other
: &Self) -> bool
{
1099 impl ::core
::cmp
::Eq
for PaymentCurrencyAmount {}
1100 impl ::core
::fmt
::Debug
for PaymentCurrencyAmount
{
1101 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1102 f
.debug_tuple("PaymentCurrencyAmount").field(&self.0).finish()
1105 impl ::windows
::core
::RuntimeType
for PaymentCurrencyAmount
{
1106 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentCurrencyAmount;{e3a3e9e0-b41f-4987-bdcb-071331f2daa4})");
1108 impl ::core
::clone
::Clone
for PaymentCurrencyAmount
{
1109 fn clone(&self) -> Self {
1110 Self(self.0.clone())
1113 unsafe impl ::windows
::core
::Interface
for PaymentCurrencyAmount
{
1114 type Vtable
= IPaymentCurrencyAmount_Vtbl
;
1116 unsafe impl ::windows
::core
::ComInterface
for PaymentCurrencyAmount
{
1117 const IID
: ::windows
::core
::GUID
= <IPaymentCurrencyAmount
as ::windows
::core
::ComInterface
>::IID
;
1119 impl ::windows
::core
::RuntimeName
for PaymentCurrencyAmount
{
1120 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentCurrencyAmount";
1122 ::windows
::imp
::interface_hierarchy
!(PaymentCurrencyAmount
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1123 unsafe impl ::core
::marker
::Send
for PaymentCurrencyAmount {}
1124 unsafe impl ::core
::marker
::Sync
for PaymentCurrencyAmount {}
1125 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1126 #[repr(transparent)]
1127 pub struct PaymentDetails(::windows
::core
::IUnknown
);
1128 impl PaymentDetails
{
1129 pub fn new() -> ::windows
::core
::Result
<Self> {
1130 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1132 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1133 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentDetails
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1134 SHARED
.call(callback
)
1136 pub fn Total(&self) -> ::windows
::core
::Result
<PaymentItem
> {
1139 let mut result__
= ::windows
::core
::zeroed
::<PaymentItem
>();
1140 (::windows
::core
::Interface
::vtable(this
).Total
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1143 pub fn SetTotal(&self, value
: &PaymentItem
) -> ::windows
::core
::Result
<()> {
1145 unsafe { (::windows::core::Interface::vtable(this).SetTotal)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1147 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1148 #[cfg(feature = "Foundation_Collections")]
1149 pub fn DisplayItems(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<PaymentItem
>> {
1152 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<PaymentItem
>>();
1153 (::windows
::core
::Interface
::vtable(this
).DisplayItems
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1156 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1157 #[cfg(feature = "Foundation_Collections")]
1158 pub fn SetDisplayItems
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
1160 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IVectorView
<PaymentItem
>>,
1163 unsafe { (::windows::core::Interface::vtable(this).SetDisplayItems)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1165 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1166 #[cfg(feature = "Foundation_Collections")]
1167 pub fn ShippingOptions(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<PaymentShippingOption
>> {
1170 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<PaymentShippingOption
>>();
1171 (::windows
::core
::Interface
::vtable(this
).ShippingOptions
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1174 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1175 #[cfg(feature = "Foundation_Collections")]
1176 pub fn SetShippingOptions
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
1178 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IVectorView
<PaymentShippingOption
>>,
1181 unsafe { (::windows::core::Interface::vtable(this).SetShippingOptions)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1183 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1184 #[cfg(feature = "Foundation_Collections")]
1185 pub fn Modifiers(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<PaymentDetailsModifier
>> {
1188 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<PaymentDetailsModifier
>>();
1189 (::windows
::core
::Interface
::vtable(this
).Modifiers
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1192 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1193 #[cfg(feature = "Foundation_Collections")]
1194 pub fn SetModifiers
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
1196 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IVectorView
<PaymentDetailsModifier
>>,
1199 unsafe { (::windows::core::Interface::vtable(this).SetModifiers)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1201 pub fn Create(total
: &PaymentItem
) -> ::windows
::core
::Result
<PaymentDetails
> {
1202 Self::IPaymentDetailsFactory(|this
| unsafe {
1203 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetails
>();
1204 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(total
), &mut result__
).from_abi(result__
)
1207 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1208 #[cfg(feature = "Foundation_Collections")]
1209 pub fn CreateWithDisplayItems
<P0
>(total
: &PaymentItem
, displayitems
: P0
) -> ::windows
::core
::Result
<PaymentDetails
>
1211 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentItem
>>,
1213 Self::IPaymentDetailsFactory(|this
| unsafe {
1214 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetails
>();
1215 (::windows
::core
::Interface
::vtable(this
).CreateWithDisplayItems
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(total
), displayitems
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
1219 pub fn IPaymentDetailsFactory
<R
, F
: FnOnce(&IPaymentDetailsFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1220 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentDetails
, IPaymentDetailsFactory
> = ::windows
::imp
::FactoryCache
::new();
1221 SHARED
.call(callback
)
1224 impl ::core
::cmp
::PartialEq
for PaymentDetails
{
1225 fn eq(&self, other
: &Self) -> bool
{
1229 impl ::core
::cmp
::Eq
for PaymentDetails {}
1230 impl ::core
::fmt
::Debug
for PaymentDetails
{
1231 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1232 f
.debug_tuple("PaymentDetails").field(&self.0).finish()
1235 impl ::windows
::core
::RuntimeType
for PaymentDetails
{
1236 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentDetails;{53bb2d7d-e0eb-4053-8eae-ce7c48e02945})");
1238 impl ::core
::clone
::Clone
for PaymentDetails
{
1239 fn clone(&self) -> Self {
1240 Self(self.0.clone())
1243 unsafe impl ::windows
::core
::Interface
for PaymentDetails
{
1244 type Vtable
= IPaymentDetails_Vtbl
;
1246 unsafe impl ::windows
::core
::ComInterface
for PaymentDetails
{
1247 const IID
: ::windows
::core
::GUID
= <IPaymentDetails
as ::windows
::core
::ComInterface
>::IID
;
1249 impl ::windows
::core
::RuntimeName
for PaymentDetails
{
1250 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentDetails";
1252 ::windows
::imp
::interface_hierarchy
!(PaymentDetails
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1253 unsafe impl ::core
::marker
::Send
for PaymentDetails {}
1254 unsafe impl ::core
::marker
::Sync
for PaymentDetails {}
1255 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1256 #[repr(transparent)]
1257 pub struct PaymentDetailsModifier(::windows
::core
::IUnknown
);
1258 impl PaymentDetailsModifier
{
1259 pub fn JsonData(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1262 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1263 (::windows
::core
::Interface
::vtable(this
).JsonData
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1266 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1267 #[cfg(feature = "Foundation_Collections")]
1268 pub fn SupportedMethodIds(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>> {
1271 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>();
1272 (::windows
::core
::Interface
::vtable(this
).SupportedMethodIds
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1275 pub fn Total(&self) -> ::windows
::core
::Result
<PaymentItem
> {
1278 let mut result__
= ::windows
::core
::zeroed
::<PaymentItem
>();
1279 (::windows
::core
::Interface
::vtable(this
).Total
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1282 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1283 #[cfg(feature = "Foundation_Collections")]
1284 pub fn AdditionalDisplayItems(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<PaymentItem
>> {
1287 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<PaymentItem
>>();
1288 (::windows
::core
::Interface
::vtable(this
).AdditionalDisplayItems
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1291 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1292 #[cfg(feature = "Foundation_Collections")]
1293 pub fn Create
<P0
>(supportedmethodids
: P0
, total
: &PaymentItem
) -> ::windows
::core
::Result
<PaymentDetailsModifier
>
1295 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<::windows
::core
::HSTRING
>>,
1297 Self::IPaymentDetailsModifierFactory(|this
| unsafe {
1298 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetailsModifier
>();
1299 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), supportedmethodids
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(total
), &mut result__
).from_abi(result__
)
1302 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1303 #[cfg(feature = "Foundation_Collections")]
1304 pub fn CreateWithAdditionalDisplayItems
<P0
, P1
>(supportedmethodids
: P0
, total
: &PaymentItem
, additionaldisplayitems
: P1
) -> ::windows
::core
::Result
<PaymentDetailsModifier
>
1306 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<::windows
::core
::HSTRING
>>,
1307 P1
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentItem
>>,
1309 Self::IPaymentDetailsModifierFactory(|this
| unsafe {
1310 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetailsModifier
>();
1311 (::windows
::core
::Interface
::vtable(this
).CreateWithAdditionalDisplayItems
)(::windows
::core
::Interface
::as_raw(this
), supportedmethodids
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(total
), additionaldisplayitems
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
1314 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1315 #[cfg(feature = "Foundation_Collections")]
1316 pub fn CreateWithAdditionalDisplayItemsAndJsonData
<P0
, P1
>(supportedmethodids
: P0
, total
: &PaymentItem
, additionaldisplayitems
: P1
, jsondata
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentDetailsModifier
>
1318 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<::windows
::core
::HSTRING
>>,
1319 P1
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentItem
>>,
1321 Self::IPaymentDetailsModifierFactory(|this
| unsafe {
1322 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetailsModifier
>();
1323 (::windows
::core
::Interface
::vtable(this
).CreateWithAdditionalDisplayItemsAndJsonData
)(::windows
::core
::Interface
::as_raw(this
), supportedmethodids
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(total
), additionaldisplayitems
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(jsondata
), &mut result__
).from_abi(result__
)
1327 pub fn IPaymentDetailsModifierFactory
<R
, F
: FnOnce(&IPaymentDetailsModifierFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1328 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentDetailsModifier
, IPaymentDetailsModifierFactory
> = ::windows
::imp
::FactoryCache
::new();
1329 SHARED
.call(callback
)
1332 impl ::core
::cmp
::PartialEq
for PaymentDetailsModifier
{
1333 fn eq(&self, other
: &Self) -> bool
{
1337 impl ::core
::cmp
::Eq
for PaymentDetailsModifier {}
1338 impl ::core
::fmt
::Debug
for PaymentDetailsModifier
{
1339 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1340 f
.debug_tuple("PaymentDetailsModifier").field(&self.0).finish()
1343 impl ::windows
::core
::RuntimeType
for PaymentDetailsModifier
{
1344 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentDetailsModifier;{be1c7d65-4323-41d7-b305-dfcb765f69de})");
1346 impl ::core
::clone
::Clone
for PaymentDetailsModifier
{
1347 fn clone(&self) -> Self {
1348 Self(self.0.clone())
1351 unsafe impl ::windows
::core
::Interface
for PaymentDetailsModifier
{
1352 type Vtable
= IPaymentDetailsModifier_Vtbl
;
1354 unsafe impl ::windows
::core
::ComInterface
for PaymentDetailsModifier
{
1355 const IID
: ::windows
::core
::GUID
= <IPaymentDetailsModifier
as ::windows
::core
::ComInterface
>::IID
;
1357 impl ::windows
::core
::RuntimeName
for PaymentDetailsModifier
{
1358 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentDetailsModifier";
1360 ::windows
::imp
::interface_hierarchy
!(PaymentDetailsModifier
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1361 unsafe impl ::core
::marker
::Send
for PaymentDetailsModifier {}
1362 unsafe impl ::core
::marker
::Sync
for PaymentDetailsModifier {}
1363 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1364 #[repr(transparent)]
1365 pub struct PaymentItem(::windows
::core
::IUnknown
);
1367 pub fn Label(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1370 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1371 (::windows
::core
::Interface
::vtable(this
).Label
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1374 pub fn SetLabel(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
1376 unsafe { (::windows::core::Interface::vtable(this).SetLabel)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1378 pub fn Amount(&self) -> ::windows
::core
::Result
<PaymentCurrencyAmount
> {
1381 let mut result__
= ::windows
::core
::zeroed
::<PaymentCurrencyAmount
>();
1382 (::windows
::core
::Interface
::vtable(this
).Amount
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1385 pub fn SetAmount(&self, value
: &PaymentCurrencyAmount
) -> ::windows
::core
::Result
<()> {
1387 unsafe { (::windows::core::Interface::vtable(this).SetAmount)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1389 pub fn Pending(&self) -> ::windows
::core
::Result
<bool
> {
1392 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1393 (::windows
::core
::Interface
::vtable(this
).Pending
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1396 pub fn SetPending(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1398 unsafe { (::windows::core::Interface::vtable(this).SetPending)(::windows::core::Interface::as_raw(this), value).ok() }
1400 pub fn Create(label
: &::windows
::core
::HSTRING
, amount
: &PaymentCurrencyAmount
) -> ::windows
::core
::Result
<PaymentItem
> {
1401 Self::IPaymentItemFactory(|this
| unsafe {
1402 let mut result__
= ::windows
::core
::zeroed
::<PaymentItem
>();
1403 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(label
), ::core
::mem
::transmute_copy(amount
), &mut result__
).from_abi(result__
)
1407 pub fn IPaymentItemFactory
<R
, F
: FnOnce(&IPaymentItemFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1408 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentItem
, IPaymentItemFactory
> = ::windows
::imp
::FactoryCache
::new();
1409 SHARED
.call(callback
)
1412 impl ::core
::cmp
::PartialEq
for PaymentItem
{
1413 fn eq(&self, other
: &Self) -> bool
{
1417 impl ::core
::cmp
::Eq
for PaymentItem {}
1418 impl ::core
::fmt
::Debug
for PaymentItem
{
1419 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1420 f
.debug_tuple("PaymentItem").field(&self.0).finish()
1423 impl ::windows
::core
::RuntimeType
for PaymentItem
{
1424 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentItem;{685ac88b-79b2-4b76-9e03-a876223dfe72})");
1426 impl ::core
::clone
::Clone
for PaymentItem
{
1427 fn clone(&self) -> Self {
1428 Self(self.0.clone())
1431 unsafe impl ::windows
::core
::Interface
for PaymentItem
{
1432 type Vtable
= IPaymentItem_Vtbl
;
1434 unsafe impl ::windows
::core
::ComInterface
for PaymentItem
{
1435 const IID
: ::windows
::core
::GUID
= <IPaymentItem
as ::windows
::core
::ComInterface
>::IID
;
1437 impl ::windows
::core
::RuntimeName
for PaymentItem
{
1438 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentItem";
1440 ::windows
::imp
::interface_hierarchy
!(PaymentItem
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1441 unsafe impl ::core
::marker
::Send
for PaymentItem {}
1442 unsafe impl ::core
::marker
::Sync
for PaymentItem {}
1443 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1444 #[repr(transparent)]
1445 pub struct PaymentMediator(::windows
::core
::IUnknown
);
1446 impl PaymentMediator
{
1447 pub fn new() -> ::windows
::core
::Result
<Self> {
1448 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1450 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1451 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentMediator
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1452 SHARED
.call(callback
)
1454 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1455 #[cfg(feature = "Foundation_Collections")]
1456 pub fn GetSupportedMethodIdsAsync(&self) -> ::windows
::core
::Result
<super::super::Foundation
::IAsyncOperation
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>> {
1459 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::IAsyncOperation
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>>();
1460 (::windows
::core
::Interface
::vtable(this
).GetSupportedMethodIdsAsync
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1463 #[doc = "*Required features: `\"Foundation\"`*"]
1464 #[cfg(feature = "Foundation")]
1465 pub fn SubmitPaymentRequestAsync(&self, paymentrequest
: &PaymentRequest
) -> ::windows
::core
::Result
<super::super::Foundation
::IAsyncOperation
<PaymentRequestSubmitResult
>> {
1468 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::IAsyncOperation
<PaymentRequestSubmitResult
>>();
1469 (::windows
::core
::Interface
::vtable(this
).SubmitPaymentRequestAsync
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(paymentrequest
), &mut result__
).from_abi(result__
)
1472 #[doc = "*Required features: `\"Foundation\"`*"]
1473 #[cfg(feature = "Foundation")]
1474 pub fn SubmitPaymentRequestWithChangeHandlerAsync(&self, paymentrequest
: &PaymentRequest
, changehandler
: &PaymentRequestChangedHandler
) -> ::windows
::core
::Result
<super::super::Foundation
::IAsyncOperation
<PaymentRequestSubmitResult
>> {
1477 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::IAsyncOperation
<PaymentRequestSubmitResult
>>();
1478 (::windows
::core
::Interface
::vtable(this
).SubmitPaymentRequestWithChangeHandlerAsync
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(paymentrequest
), ::core
::mem
::transmute_copy(changehandler
), &mut result__
).from_abi(result__
)
1481 #[doc = "*Required features: `\"Foundation\"`*"]
1482 #[cfg(feature = "Foundation")]
1483 pub fn CanMakePaymentAsync(&self, paymentrequest
: &PaymentRequest
) -> ::windows
::core
::Result
<super::super::Foundation
::IAsyncOperation
<PaymentCanMakePaymentResult
>> {
1484 let this
= &::windows
::core
::ComInterface
::cast
::<IPaymentMediator2
>(self)?
;
1486 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::IAsyncOperation
<PaymentCanMakePaymentResult
>>();
1487 (::windows
::core
::Interface
::vtable(this
).CanMakePaymentAsync
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(paymentrequest
), &mut result__
).from_abi(result__
)
1491 impl ::core
::cmp
::PartialEq
for PaymentMediator
{
1492 fn eq(&self, other
: &Self) -> bool
{
1496 impl ::core
::cmp
::Eq
for PaymentMediator {}
1497 impl ::core
::fmt
::Debug
for PaymentMediator
{
1498 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1499 f
.debug_tuple("PaymentMediator").field(&self.0).finish()
1502 impl ::windows
::core
::RuntimeType
for PaymentMediator
{
1503 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentMediator;{fb0ee829-ec0c-449a-83da-7ae3073365a2})");
1505 impl ::core
::clone
::Clone
for PaymentMediator
{
1506 fn clone(&self) -> Self {
1507 Self(self.0.clone())
1510 unsafe impl ::windows
::core
::Interface
for PaymentMediator
{
1511 type Vtable
= IPaymentMediator_Vtbl
;
1513 unsafe impl ::windows
::core
::ComInterface
for PaymentMediator
{
1514 const IID
: ::windows
::core
::GUID
= <IPaymentMediator
as ::windows
::core
::ComInterface
>::IID
;
1516 impl ::windows
::core
::RuntimeName
for PaymentMediator
{
1517 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentMediator";
1519 ::windows
::imp
::interface_hierarchy
!(PaymentMediator
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1520 unsafe impl ::core
::marker
::Send
for PaymentMediator {}
1521 unsafe impl ::core
::marker
::Sync
for PaymentMediator {}
1522 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1523 #[repr(transparent)]
1524 pub struct PaymentMerchantInfo(::windows
::core
::IUnknown
);
1525 impl PaymentMerchantInfo
{
1526 pub fn new() -> ::windows
::core
::Result
<Self> {
1527 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1529 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1530 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentMerchantInfo
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1531 SHARED
.call(callback
)
1533 pub fn PackageFullName(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1536 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1537 (::windows
::core
::Interface
::vtable(this
).PackageFullName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1540 #[doc = "*Required features: `\"Foundation\"`*"]
1541 #[cfg(feature = "Foundation")]
1542 pub fn Uri(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Uri
> {
1545 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Uri
>();
1546 (::windows
::core
::Interface
::vtable(this
).Uri
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1549 #[doc = "*Required features: `\"Foundation\"`*"]
1550 #[cfg(feature = "Foundation")]
1551 pub fn Create(uri
: &super::super::Foundation
::Uri
) -> ::windows
::core
::Result
<PaymentMerchantInfo
> {
1552 Self::IPaymentMerchantInfoFactory(|this
| unsafe {
1553 let mut result__
= ::windows
::core
::zeroed
::<PaymentMerchantInfo
>();
1554 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(uri
), &mut result__
).from_abi(result__
)
1558 pub fn IPaymentMerchantInfoFactory
<R
, F
: FnOnce(&IPaymentMerchantInfoFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1559 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentMerchantInfo
, IPaymentMerchantInfoFactory
> = ::windows
::imp
::FactoryCache
::new();
1560 SHARED
.call(callback
)
1563 impl ::core
::cmp
::PartialEq
for PaymentMerchantInfo
{
1564 fn eq(&self, other
: &Self) -> bool
{
1568 impl ::core
::cmp
::Eq
for PaymentMerchantInfo {}
1569 impl ::core
::fmt
::Debug
for PaymentMerchantInfo
{
1570 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1571 f
.debug_tuple("PaymentMerchantInfo").field(&self.0).finish()
1574 impl ::windows
::core
::RuntimeType
for PaymentMerchantInfo
{
1575 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentMerchantInfo;{63445050-0e94-4ed6-aacb-e6012bd327a7})");
1577 impl ::core
::clone
::Clone
for PaymentMerchantInfo
{
1578 fn clone(&self) -> Self {
1579 Self(self.0.clone())
1582 unsafe impl ::windows
::core
::Interface
for PaymentMerchantInfo
{
1583 type Vtable
= IPaymentMerchantInfo_Vtbl
;
1585 unsafe impl ::windows
::core
::ComInterface
for PaymentMerchantInfo
{
1586 const IID
: ::windows
::core
::GUID
= <IPaymentMerchantInfo
as ::windows
::core
::ComInterface
>::IID
;
1588 impl ::windows
::core
::RuntimeName
for PaymentMerchantInfo
{
1589 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentMerchantInfo";
1591 ::windows
::imp
::interface_hierarchy
!(PaymentMerchantInfo
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1592 unsafe impl ::core
::marker
::Send
for PaymentMerchantInfo {}
1593 unsafe impl ::core
::marker
::Sync
for PaymentMerchantInfo {}
1594 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1595 #[repr(transparent)]
1596 pub struct PaymentMethodData(::windows
::core
::IUnknown
);
1597 impl PaymentMethodData
{
1598 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1599 #[cfg(feature = "Foundation_Collections")]
1600 pub fn SupportedMethodIds(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>> {
1603 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<::windows
::core
::HSTRING
>>();
1604 (::windows
::core
::Interface
::vtable(this
).SupportedMethodIds
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1607 pub fn JsonData(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1610 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1611 (::windows
::core
::Interface
::vtable(this
).JsonData
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1614 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1615 #[cfg(feature = "Foundation_Collections")]
1616 pub fn Create
<P0
>(supportedmethodids
: P0
) -> ::windows
::core
::Result
<PaymentMethodData
>
1618 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<::windows
::core
::HSTRING
>>,
1620 Self::IPaymentMethodDataFactory(|this
| unsafe {
1621 let mut result__
= ::windows
::core
::zeroed
::<PaymentMethodData
>();
1622 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), supportedmethodids
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
1625 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1626 #[cfg(feature = "Foundation_Collections")]
1627 pub fn CreateWithJsonData
<P0
>(supportedmethodids
: P0
, jsondata
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentMethodData
>
1629 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<::windows
::core
::HSTRING
>>,
1631 Self::IPaymentMethodDataFactory(|this
| unsafe {
1632 let mut result__
= ::windows
::core
::zeroed
::<PaymentMethodData
>();
1633 (::windows
::core
::Interface
::vtable(this
).CreateWithJsonData
)(::windows
::core
::Interface
::as_raw(this
), supportedmethodids
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(jsondata
), &mut result__
).from_abi(result__
)
1637 pub fn IPaymentMethodDataFactory
<R
, F
: FnOnce(&IPaymentMethodDataFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1638 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentMethodData
, IPaymentMethodDataFactory
> = ::windows
::imp
::FactoryCache
::new();
1639 SHARED
.call(callback
)
1642 impl ::core
::cmp
::PartialEq
for PaymentMethodData
{
1643 fn eq(&self, other
: &Self) -> bool
{
1647 impl ::core
::cmp
::Eq
for PaymentMethodData {}
1648 impl ::core
::fmt
::Debug
for PaymentMethodData
{
1649 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1650 f
.debug_tuple("PaymentMethodData").field(&self.0).finish()
1653 impl ::windows
::core
::RuntimeType
for PaymentMethodData
{
1654 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentMethodData;{d1d3caf4-de98-4129-b1b7-c3ad86237bf4})");
1656 impl ::core
::clone
::Clone
for PaymentMethodData
{
1657 fn clone(&self) -> Self {
1658 Self(self.0.clone())
1661 unsafe impl ::windows
::core
::Interface
for PaymentMethodData
{
1662 type Vtable
= IPaymentMethodData_Vtbl
;
1664 unsafe impl ::windows
::core
::ComInterface
for PaymentMethodData
{
1665 const IID
: ::windows
::core
::GUID
= <IPaymentMethodData
as ::windows
::core
::ComInterface
>::IID
;
1667 impl ::windows
::core
::RuntimeName
for PaymentMethodData
{
1668 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentMethodData";
1670 ::windows
::imp
::interface_hierarchy
!(PaymentMethodData
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1671 unsafe impl ::core
::marker
::Send
for PaymentMethodData {}
1672 unsafe impl ::core
::marker
::Sync
for PaymentMethodData {}
1673 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1674 #[repr(transparent)]
1675 pub struct PaymentOptions(::windows
::core
::IUnknown
);
1676 impl PaymentOptions
{
1677 pub fn new() -> ::windows
::core
::Result
<Self> {
1678 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1680 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1681 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentOptions
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1682 SHARED
.call(callback
)
1684 pub fn RequestPayerEmail(&self) -> ::windows
::core
::Result
<PaymentOptionPresence
> {
1687 let mut result__
= ::windows
::core
::zeroed
::<PaymentOptionPresence
>();
1688 (::windows
::core
::Interface
::vtable(this
).RequestPayerEmail
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1691 pub fn SetRequestPayerEmail(&self, value
: PaymentOptionPresence
) -> ::windows
::core
::Result
<()> {
1693 unsafe { (::windows::core::Interface::vtable(this).SetRequestPayerEmail)(::windows::core::Interface::as_raw(this), value).ok() }
1695 pub fn RequestPayerName(&self) -> ::windows
::core
::Result
<PaymentOptionPresence
> {
1698 let mut result__
= ::windows
::core
::zeroed
::<PaymentOptionPresence
>();
1699 (::windows
::core
::Interface
::vtable(this
).RequestPayerName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1702 pub fn SetRequestPayerName(&self, value
: PaymentOptionPresence
) -> ::windows
::core
::Result
<()> {
1704 unsafe { (::windows::core::Interface::vtable(this).SetRequestPayerName)(::windows::core::Interface::as_raw(this), value).ok() }
1706 pub fn RequestPayerPhoneNumber(&self) -> ::windows
::core
::Result
<PaymentOptionPresence
> {
1709 let mut result__
= ::windows
::core
::zeroed
::<PaymentOptionPresence
>();
1710 (::windows
::core
::Interface
::vtable(this
).RequestPayerPhoneNumber
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1713 pub fn SetRequestPayerPhoneNumber(&self, value
: PaymentOptionPresence
) -> ::windows
::core
::Result
<()> {
1715 unsafe { (::windows::core::Interface::vtable(this).SetRequestPayerPhoneNumber)(::windows::core::Interface::as_raw(this), value).ok() }
1717 pub fn RequestShipping(&self) -> ::windows
::core
::Result
<bool
> {
1720 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1721 (::windows
::core
::Interface
::vtable(this
).RequestShipping
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1724 pub fn SetRequestShipping(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1726 unsafe { (::windows::core::Interface::vtable(this).SetRequestShipping)(::windows::core::Interface::as_raw(this), value).ok() }
1728 pub fn ShippingType(&self) -> ::windows
::core
::Result
<PaymentShippingType
> {
1731 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingType
>();
1732 (::windows
::core
::Interface
::vtable(this
).ShippingType
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1735 pub fn SetShippingType(&self, value
: PaymentShippingType
) -> ::windows
::core
::Result
<()> {
1737 unsafe { (::windows::core::Interface::vtable(this).SetShippingType)(::windows::core::Interface::as_raw(this), value).ok() }
1740 impl ::core
::cmp
::PartialEq
for PaymentOptions
{
1741 fn eq(&self, other
: &Self) -> bool
{
1745 impl ::core
::cmp
::Eq
for PaymentOptions {}
1746 impl ::core
::fmt
::Debug
for PaymentOptions
{
1747 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1748 f
.debug_tuple("PaymentOptions").field(&self.0).finish()
1751 impl ::windows
::core
::RuntimeType
for PaymentOptions
{
1752 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentOptions;{aaa30854-1f2b-4365-8251-01b58915a5bc})");
1754 impl ::core
::clone
::Clone
for PaymentOptions
{
1755 fn clone(&self) -> Self {
1756 Self(self.0.clone())
1759 unsafe impl ::windows
::core
::Interface
for PaymentOptions
{
1760 type Vtable
= IPaymentOptions_Vtbl
;
1762 unsafe impl ::windows
::core
::ComInterface
for PaymentOptions
{
1763 const IID
: ::windows
::core
::GUID
= <IPaymentOptions
as ::windows
::core
::ComInterface
>::IID
;
1765 impl ::windows
::core
::RuntimeName
for PaymentOptions
{
1766 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentOptions";
1768 ::windows
::imp
::interface_hierarchy
!(PaymentOptions
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1769 unsafe impl ::core
::marker
::Send
for PaymentOptions {}
1770 unsafe impl ::core
::marker
::Sync
for PaymentOptions {}
1771 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1772 #[repr(transparent)]
1773 pub struct PaymentRequest(::windows
::core
::IUnknown
);
1774 impl PaymentRequest
{
1775 pub fn MerchantInfo(&self) -> ::windows
::core
::Result
<PaymentMerchantInfo
> {
1778 let mut result__
= ::windows
::core
::zeroed
::<PaymentMerchantInfo
>();
1779 (::windows
::core
::Interface
::vtable(this
).MerchantInfo
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1782 pub fn Details(&self) -> ::windows
::core
::Result
<PaymentDetails
> {
1785 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetails
>();
1786 (::windows
::core
::Interface
::vtable(this
).Details
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1789 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1790 #[cfg(feature = "Foundation_Collections")]
1791 pub fn MethodData(&self) -> ::windows
::core
::Result
<super::super::Foundation
::Collections
::IVectorView
<PaymentMethodData
>> {
1794 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::Collections
::IVectorView
<PaymentMethodData
>>();
1795 (::windows
::core
::Interface
::vtable(this
).MethodData
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1798 pub fn Options(&self) -> ::windows
::core
::Result
<PaymentOptions
> {
1801 let mut result__
= ::windows
::core
::zeroed
::<PaymentOptions
>();
1802 (::windows
::core
::Interface
::vtable(this
).Options
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1805 pub fn Id(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1806 let this
= &::windows
::core
::ComInterface
::cast
::<IPaymentRequest2
>(self)?
;
1808 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1809 (::windows
::core
::Interface
::vtable(this
).Id
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1812 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1813 #[cfg(feature = "Foundation_Collections")]
1814 pub fn Create
<P0
>(details
: &PaymentDetails
, methoddata
: P0
) -> ::windows
::core
::Result
<PaymentRequest
>
1816 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentMethodData
>>,
1818 Self::IPaymentRequestFactory(|this
| unsafe {
1819 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequest
>();
1820 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(details
), methoddata
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
1823 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1824 #[cfg(feature = "Foundation_Collections")]
1825 pub fn CreateWithMerchantInfo
<P0
>(details
: &PaymentDetails
, methoddata
: P0
, merchantinfo
: &PaymentMerchantInfo
) -> ::windows
::core
::Result
<PaymentRequest
>
1827 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentMethodData
>>,
1829 Self::IPaymentRequestFactory(|this
| unsafe {
1830 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequest
>();
1831 (::windows
::core
::Interface
::vtable(this
).CreateWithMerchantInfo
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(details
), methoddata
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(merchantinfo
), &mut result__
).from_abi(result__
)
1834 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1835 #[cfg(feature = "Foundation_Collections")]
1836 pub fn CreateWithMerchantInfoAndOptions
<P0
>(details
: &PaymentDetails
, methoddata
: P0
, merchantinfo
: &PaymentMerchantInfo
, options
: &PaymentOptions
) -> ::windows
::core
::Result
<PaymentRequest
>
1838 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentMethodData
>>,
1840 Self::IPaymentRequestFactory(|this
| unsafe {
1841 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequest
>();
1842 (::windows
::core
::Interface
::vtable(this
).CreateWithMerchantInfoAndOptions
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(details
), methoddata
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(merchantinfo
), ::core
::mem
::transmute_copy(options
), &mut result__
).from_abi(result__
)
1845 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1846 #[cfg(feature = "Foundation_Collections")]
1847 pub fn CreateWithMerchantInfoOptionsAndId
<P0
>(details
: &PaymentDetails
, methoddata
: P0
, merchantinfo
: &PaymentMerchantInfo
, options
: &PaymentOptions
, id
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentRequest
>
1849 P0
: ::windows
::core
::TryIntoParam
<super::super::Foundation
::Collections
::IIterable
<PaymentMethodData
>>,
1851 Self::IPaymentRequestFactory2(|this
| unsafe {
1852 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequest
>();
1853 (::windows
::core
::Interface
::vtable(this
).CreateWithMerchantInfoOptionsAndId
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(details
), methoddata
.try_into_param()?
.abi(), ::core
::mem
::transmute_copy(merchantinfo
), ::core
::mem
::transmute_copy(options
), ::core
::mem
::transmute_copy(id
), &mut result__
).from_abi(result__
)
1857 pub fn IPaymentRequestFactory
<R
, F
: FnOnce(&IPaymentRequestFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1858 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentRequest
, IPaymentRequestFactory
> = ::windows
::imp
::FactoryCache
::new();
1859 SHARED
.call(callback
)
1862 pub fn IPaymentRequestFactory2
<R
, F
: FnOnce(&IPaymentRequestFactory2
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1863 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentRequest
, IPaymentRequestFactory2
> = ::windows
::imp
::FactoryCache
::new();
1864 SHARED
.call(callback
)
1867 impl ::core
::cmp
::PartialEq
for PaymentRequest
{
1868 fn eq(&self, other
: &Self) -> bool
{
1872 impl ::core
::cmp
::Eq
for PaymentRequest {}
1873 impl ::core
::fmt
::Debug
for PaymentRequest
{
1874 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1875 f
.debug_tuple("PaymentRequest").field(&self.0).finish()
1878 impl ::windows
::core
::RuntimeType
for PaymentRequest
{
1879 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentRequest;{b74942e1-ed7b-47eb-bc08-78cc5d6896b6})");
1881 impl ::core
::clone
::Clone
for PaymentRequest
{
1882 fn clone(&self) -> Self {
1883 Self(self.0.clone())
1886 unsafe impl ::windows
::core
::Interface
for PaymentRequest
{
1887 type Vtable
= IPaymentRequest_Vtbl
;
1889 unsafe impl ::windows
::core
::ComInterface
for PaymentRequest
{
1890 const IID
: ::windows
::core
::GUID
= <IPaymentRequest
as ::windows
::core
::ComInterface
>::IID
;
1892 impl ::windows
::core
::RuntimeName
for PaymentRequest
{
1893 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentRequest";
1895 ::windows
::imp
::interface_hierarchy
!(PaymentRequest
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1896 unsafe impl ::core
::marker
::Send
for PaymentRequest {}
1897 unsafe impl ::core
::marker
::Sync
for PaymentRequest {}
1898 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1899 #[repr(transparent)]
1900 pub struct PaymentRequestChangedArgs(::windows
::core
::IUnknown
);
1901 impl PaymentRequestChangedArgs
{
1902 pub fn ChangeKind(&self) -> ::windows
::core
::Result
<PaymentRequestChangeKind
> {
1905 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequestChangeKind
>();
1906 (::windows
::core
::Interface
::vtable(this
).ChangeKind
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1909 pub fn ShippingAddress(&self) -> ::windows
::core
::Result
<PaymentAddress
> {
1912 let mut result__
= ::windows
::core
::zeroed
::<PaymentAddress
>();
1913 (::windows
::core
::Interface
::vtable(this
).ShippingAddress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1916 pub fn SelectedShippingOption(&self) -> ::windows
::core
::Result
<PaymentShippingOption
> {
1919 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingOption
>();
1920 (::windows
::core
::Interface
::vtable(this
).SelectedShippingOption
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1923 pub fn Acknowledge(&self, changeresult
: &PaymentRequestChangedResult
) -> ::windows
::core
::Result
<()> {
1925 unsafe { (::windows::core::Interface::vtable(this).Acknowledge)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(changeresult)).ok() }
1928 impl ::core
::cmp
::PartialEq
for PaymentRequestChangedArgs
{
1929 fn eq(&self, other
: &Self) -> bool
{
1933 impl ::core
::cmp
::Eq
for PaymentRequestChangedArgs {}
1934 impl ::core
::fmt
::Debug
for PaymentRequestChangedArgs
{
1935 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1936 f
.debug_tuple("PaymentRequestChangedArgs").field(&self.0).finish()
1939 impl ::windows
::core
::RuntimeType
for PaymentRequestChangedArgs
{
1940 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentRequestChangedArgs;{c6145e44-cd8b-4be4-b555-27c99194c0c5})");
1942 impl ::core
::clone
::Clone
for PaymentRequestChangedArgs
{
1943 fn clone(&self) -> Self {
1944 Self(self.0.clone())
1947 unsafe impl ::windows
::core
::Interface
for PaymentRequestChangedArgs
{
1948 type Vtable
= IPaymentRequestChangedArgs_Vtbl
;
1950 unsafe impl ::windows
::core
::ComInterface
for PaymentRequestChangedArgs
{
1951 const IID
: ::windows
::core
::GUID
= <IPaymentRequestChangedArgs
as ::windows
::core
::ComInterface
>::IID
;
1953 impl ::windows
::core
::RuntimeName
for PaymentRequestChangedArgs
{
1954 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentRequestChangedArgs";
1956 ::windows
::imp
::interface_hierarchy
!(PaymentRequestChangedArgs
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1957 unsafe impl ::core
::marker
::Send
for PaymentRequestChangedArgs {}
1958 unsafe impl ::core
::marker
::Sync
for PaymentRequestChangedArgs {}
1959 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
1960 #[repr(transparent)]
1961 pub struct PaymentRequestChangedResult(::windows
::core
::IUnknown
);
1962 impl PaymentRequestChangedResult
{
1963 pub fn ChangeAcceptedByMerchant(&self) -> ::windows
::core
::Result
<bool
> {
1966 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1967 (::windows
::core
::Interface
::vtable(this
).ChangeAcceptedByMerchant
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1970 pub fn SetChangeAcceptedByMerchant(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1972 unsafe { (::windows::core::Interface::vtable(this).SetChangeAcceptedByMerchant)(::windows::core::Interface::as_raw(this), value).ok() }
1974 pub fn Message(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
1977 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
1978 (::windows
::core
::Interface
::vtable(this
).Message
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1981 pub fn SetMessage(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
1983 unsafe { (::windows::core::Interface::vtable(this).SetMessage)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1985 pub fn UpdatedPaymentDetails(&self) -> ::windows
::core
::Result
<PaymentDetails
> {
1988 let mut result__
= ::windows
::core
::zeroed
::<PaymentDetails
>();
1989 (::windows
::core
::Interface
::vtable(this
).UpdatedPaymentDetails
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1992 pub fn SetUpdatedPaymentDetails(&self, value
: &PaymentDetails
) -> ::windows
::core
::Result
<()> {
1994 unsafe { (::windows::core::Interface::vtable(this).SetUpdatedPaymentDetails)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1996 pub fn Create(changeacceptedbymerchant
: bool
) -> ::windows
::core
::Result
<PaymentRequestChangedResult
> {
1997 Self::IPaymentRequestChangedResultFactory(|this
| unsafe {
1998 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequestChangedResult
>();
1999 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), changeacceptedbymerchant
, &mut result__
).from_abi(result__
)
2002 pub fn CreateWithPaymentDetails(changeacceptedbymerchant
: bool
, updatedpaymentdetails
: &PaymentDetails
) -> ::windows
::core
::Result
<PaymentRequestChangedResult
> {
2003 Self::IPaymentRequestChangedResultFactory(|this
| unsafe {
2004 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequestChangedResult
>();
2005 (::windows
::core
::Interface
::vtable(this
).CreateWithPaymentDetails
)(::windows
::core
::Interface
::as_raw(this
), changeacceptedbymerchant
, ::core
::mem
::transmute_copy(updatedpaymentdetails
), &mut result__
).from_abi(result__
)
2009 pub fn IPaymentRequestChangedResultFactory
<R
, F
: FnOnce(&IPaymentRequestChangedResultFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
2010 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentRequestChangedResult
, IPaymentRequestChangedResultFactory
> = ::windows
::imp
::FactoryCache
::new();
2011 SHARED
.call(callback
)
2014 impl ::core
::cmp
::PartialEq
for PaymentRequestChangedResult
{
2015 fn eq(&self, other
: &Self) -> bool
{
2019 impl ::core
::cmp
::Eq
for PaymentRequestChangedResult {}
2020 impl ::core
::fmt
::Debug
for PaymentRequestChangedResult
{
2021 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2022 f
.debug_tuple("PaymentRequestChangedResult").field(&self.0).finish()
2025 impl ::windows
::core
::RuntimeType
for PaymentRequestChangedResult
{
2026 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentRequestChangedResult;{df699e5c-16c4-47ad-9401-8440ec0757db})");
2028 impl ::core
::clone
::Clone
for PaymentRequestChangedResult
{
2029 fn clone(&self) -> Self {
2030 Self(self.0.clone())
2033 unsafe impl ::windows
::core
::Interface
for PaymentRequestChangedResult
{
2034 type Vtable
= IPaymentRequestChangedResult_Vtbl
;
2036 unsafe impl ::windows
::core
::ComInterface
for PaymentRequestChangedResult
{
2037 const IID
: ::windows
::core
::GUID
= <IPaymentRequestChangedResult
as ::windows
::core
::ComInterface
>::IID
;
2039 impl ::windows
::core
::RuntimeName
for PaymentRequestChangedResult
{
2040 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentRequestChangedResult";
2042 ::windows
::imp
::interface_hierarchy
!(PaymentRequestChangedResult
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
2043 unsafe impl ::core
::marker
::Send
for PaymentRequestChangedResult {}
2044 unsafe impl ::core
::marker
::Sync
for PaymentRequestChangedResult {}
2045 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2046 #[repr(transparent)]
2047 pub struct PaymentRequestSubmitResult(::windows
::core
::IUnknown
);
2048 impl PaymentRequestSubmitResult
{
2049 pub fn Status(&self) -> ::windows
::core
::Result
<PaymentRequestStatus
> {
2052 let mut result__
= ::windows
::core
::zeroed
::<PaymentRequestStatus
>();
2053 (::windows
::core
::Interface
::vtable(this
).Status
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2056 pub fn Response(&self) -> ::windows
::core
::Result
<PaymentResponse
> {
2059 let mut result__
= ::windows
::core
::zeroed
::<PaymentResponse
>();
2060 (::windows
::core
::Interface
::vtable(this
).Response
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2064 impl ::core
::cmp
::PartialEq
for PaymentRequestSubmitResult
{
2065 fn eq(&self, other
: &Self) -> bool
{
2069 impl ::core
::cmp
::Eq
for PaymentRequestSubmitResult {}
2070 impl ::core
::fmt
::Debug
for PaymentRequestSubmitResult
{
2071 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2072 f
.debug_tuple("PaymentRequestSubmitResult").field(&self.0).finish()
2075 impl ::windows
::core
::RuntimeType
for PaymentRequestSubmitResult
{
2076 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentRequestSubmitResult;{7b9c3912-30f2-4e90-b249-8ce7d78ffe56})");
2078 impl ::core
::clone
::Clone
for PaymentRequestSubmitResult
{
2079 fn clone(&self) -> Self {
2080 Self(self.0.clone())
2083 unsafe impl ::windows
::core
::Interface
for PaymentRequestSubmitResult
{
2084 type Vtable
= IPaymentRequestSubmitResult_Vtbl
;
2086 unsafe impl ::windows
::core
::ComInterface
for PaymentRequestSubmitResult
{
2087 const IID
: ::windows
::core
::GUID
= <IPaymentRequestSubmitResult
as ::windows
::core
::ComInterface
>::IID
;
2089 impl ::windows
::core
::RuntimeName
for PaymentRequestSubmitResult
{
2090 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentRequestSubmitResult";
2092 ::windows
::imp
::interface_hierarchy
!(PaymentRequestSubmitResult
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
2093 unsafe impl ::core
::marker
::Send
for PaymentRequestSubmitResult {}
2094 unsafe impl ::core
::marker
::Sync
for PaymentRequestSubmitResult {}
2095 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2096 #[repr(transparent)]
2097 pub struct PaymentResponse(::windows
::core
::IUnknown
);
2098 impl PaymentResponse
{
2099 pub fn PaymentToken(&self) -> ::windows
::core
::Result
<PaymentToken
> {
2102 let mut result__
= ::windows
::core
::zeroed
::<PaymentToken
>();
2103 (::windows
::core
::Interface
::vtable(this
).PaymentToken
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2106 pub fn ShippingOption(&self) -> ::windows
::core
::Result
<PaymentShippingOption
> {
2109 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingOption
>();
2110 (::windows
::core
::Interface
::vtable(this
).ShippingOption
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2113 pub fn ShippingAddress(&self) -> ::windows
::core
::Result
<PaymentAddress
> {
2116 let mut result__
= ::windows
::core
::zeroed
::<PaymentAddress
>();
2117 (::windows
::core
::Interface
::vtable(this
).ShippingAddress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2120 pub fn PayerEmail(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2123 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2124 (::windows
::core
::Interface
::vtable(this
).PayerEmail
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2127 pub fn PayerName(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2130 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2131 (::windows
::core
::Interface
::vtable(this
).PayerName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2134 pub fn PayerPhoneNumber(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2137 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2138 (::windows
::core
::Interface
::vtable(this
).PayerPhoneNumber
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2141 #[doc = "*Required features: `\"Foundation\"`*"]
2142 #[cfg(feature = "Foundation")]
2143 pub fn CompleteAsync(&self, status
: PaymentRequestCompletionStatus
) -> ::windows
::core
::Result
<super::super::Foundation
::IAsyncAction
> {
2146 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::IAsyncAction
>();
2147 (::windows
::core
::Interface
::vtable(this
).CompleteAsync
)(::windows
::core
::Interface
::as_raw(this
), status
, &mut result__
).from_abi(result__
)
2151 impl ::core
::cmp
::PartialEq
for PaymentResponse
{
2152 fn eq(&self, other
: &Self) -> bool
{
2156 impl ::core
::cmp
::Eq
for PaymentResponse {}
2157 impl ::core
::fmt
::Debug
for PaymentResponse
{
2158 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2159 f
.debug_tuple("PaymentResponse").field(&self.0).finish()
2162 impl ::windows
::core
::RuntimeType
for PaymentResponse
{
2163 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentResponse;{e1389457-8bd2-4888-9fa8-97985545108e})");
2165 impl ::core
::clone
::Clone
for PaymentResponse
{
2166 fn clone(&self) -> Self {
2167 Self(self.0.clone())
2170 unsafe impl ::windows
::core
::Interface
for PaymentResponse
{
2171 type Vtable
= IPaymentResponse_Vtbl
;
2173 unsafe impl ::windows
::core
::ComInterface
for PaymentResponse
{
2174 const IID
: ::windows
::core
::GUID
= <IPaymentResponse
as ::windows
::core
::ComInterface
>::IID
;
2176 impl ::windows
::core
::RuntimeName
for PaymentResponse
{
2177 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentResponse";
2179 ::windows
::imp
::interface_hierarchy
!(PaymentResponse
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
2180 unsafe impl ::core
::marker
::Send
for PaymentResponse {}
2181 unsafe impl ::core
::marker
::Sync
for PaymentResponse {}
2182 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2183 #[repr(transparent)]
2184 pub struct PaymentShippingOption(::windows
::core
::IUnknown
);
2185 impl PaymentShippingOption
{
2186 pub fn Label(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2189 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2190 (::windows
::core
::Interface
::vtable(this
).Label
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2193 pub fn SetLabel(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
2195 unsafe { (::windows::core::Interface::vtable(this).SetLabel)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2197 pub fn Amount(&self) -> ::windows
::core
::Result
<PaymentCurrencyAmount
> {
2200 let mut result__
= ::windows
::core
::zeroed
::<PaymentCurrencyAmount
>();
2201 (::windows
::core
::Interface
::vtable(this
).Amount
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2204 pub fn SetAmount(&self, value
: &PaymentCurrencyAmount
) -> ::windows
::core
::Result
<()> {
2206 unsafe { (::windows::core::Interface::vtable(this).SetAmount)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2208 pub fn Tag(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2211 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2212 (::windows
::core
::Interface
::vtable(this
).Tag
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2215 pub fn SetTag(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
2217 unsafe { (::windows::core::Interface::vtable(this).SetTag)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2219 pub fn IsSelected(&self) -> ::windows
::core
::Result
<bool
> {
2222 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
2223 (::windows
::core
::Interface
::vtable(this
).IsSelected
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2226 pub fn SetIsSelected(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
2228 unsafe { (::windows::core::Interface::vtable(this).SetIsSelected)(::windows::core::Interface::as_raw(this), value).ok() }
2230 pub fn Create(label
: &::windows
::core
::HSTRING
, amount
: &PaymentCurrencyAmount
) -> ::windows
::core
::Result
<PaymentShippingOption
> {
2231 Self::IPaymentShippingOptionFactory(|this
| unsafe {
2232 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingOption
>();
2233 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(label
), ::core
::mem
::transmute_copy(amount
), &mut result__
).from_abi(result__
)
2236 pub fn CreateWithSelected(label
: &::windows
::core
::HSTRING
, amount
: &PaymentCurrencyAmount
, selected
: bool
) -> ::windows
::core
::Result
<PaymentShippingOption
> {
2237 Self::IPaymentShippingOptionFactory(|this
| unsafe {
2238 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingOption
>();
2239 (::windows
::core
::Interface
::vtable(this
).CreateWithSelected
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(label
), ::core
::mem
::transmute_copy(amount
), selected
, &mut result__
).from_abi(result__
)
2242 pub fn CreateWithSelectedAndTag(label
: &::windows
::core
::HSTRING
, amount
: &PaymentCurrencyAmount
, selected
: bool
, tag
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentShippingOption
> {
2243 Self::IPaymentShippingOptionFactory(|this
| unsafe {
2244 let mut result__
= ::windows
::core
::zeroed
::<PaymentShippingOption
>();
2245 (::windows
::core
::Interface
::vtable(this
).CreateWithSelectedAndTag
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(label
), ::core
::mem
::transmute_copy(amount
), selected
, ::core
::mem
::transmute_copy(tag
), &mut result__
).from_abi(result__
)
2249 pub fn IPaymentShippingOptionFactory
<R
, F
: FnOnce(&IPaymentShippingOptionFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
2250 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentShippingOption
, IPaymentShippingOptionFactory
> = ::windows
::imp
::FactoryCache
::new();
2251 SHARED
.call(callback
)
2254 impl ::core
::cmp
::PartialEq
for PaymentShippingOption
{
2255 fn eq(&self, other
: &Self) -> bool
{
2259 impl ::core
::cmp
::Eq
for PaymentShippingOption {}
2260 impl ::core
::fmt
::Debug
for PaymentShippingOption
{
2261 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2262 f
.debug_tuple("PaymentShippingOption").field(&self.0).finish()
2265 impl ::windows
::core
::RuntimeType
for PaymentShippingOption
{
2266 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentShippingOption;{13372ada-9753-4574-8966-93145a76c7f9})");
2268 impl ::core
::clone
::Clone
for PaymentShippingOption
{
2269 fn clone(&self) -> Self {
2270 Self(self.0.clone())
2273 unsafe impl ::windows
::core
::Interface
for PaymentShippingOption
{
2274 type Vtable
= IPaymentShippingOption_Vtbl
;
2276 unsafe impl ::windows
::core
::ComInterface
for PaymentShippingOption
{
2277 const IID
: ::windows
::core
::GUID
= <IPaymentShippingOption
as ::windows
::core
::ComInterface
>::IID
;
2279 impl ::windows
::core
::RuntimeName
for PaymentShippingOption
{
2280 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentShippingOption";
2282 ::windows
::imp
::interface_hierarchy
!(PaymentShippingOption
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
2283 unsafe impl ::core
::marker
::Send
for PaymentShippingOption {}
2284 unsafe impl ::core
::marker
::Sync
for PaymentShippingOption {}
2285 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2286 #[repr(transparent)]
2287 pub struct PaymentToken(::windows
::core
::IUnknown
);
2289 pub fn PaymentMethodId(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2292 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2293 (::windows
::core
::Interface
::vtable(this
).PaymentMethodId
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2296 pub fn JsonDetails(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
2299 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
2300 (::windows
::core
::Interface
::vtable(this
).JsonDetails
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
2303 pub fn Create(paymentmethodid
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentToken
> {
2304 Self::IPaymentTokenFactory(|this
| unsafe {
2305 let mut result__
= ::windows
::core
::zeroed
::<PaymentToken
>();
2306 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(paymentmethodid
), &mut result__
).from_abi(result__
)
2309 pub fn CreateWithJsonDetails(paymentmethodid
: &::windows
::core
::HSTRING
, jsondetails
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<PaymentToken
> {
2310 Self::IPaymentTokenFactory(|this
| unsafe {
2311 let mut result__
= ::windows
::core
::zeroed
::<PaymentToken
>();
2312 (::windows
::core
::Interface
::vtable(this
).CreateWithJsonDetails
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(paymentmethodid
), ::core
::mem
::transmute_copy(jsondetails
), &mut result__
).from_abi(result__
)
2316 pub fn IPaymentTokenFactory
<R
, F
: FnOnce(&IPaymentTokenFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
2317 static SHARED
: ::windows
::imp
::FactoryCache
<PaymentToken
, IPaymentTokenFactory
> = ::windows
::imp
::FactoryCache
::new();
2318 SHARED
.call(callback
)
2321 impl ::core
::cmp
::PartialEq
for PaymentToken
{
2322 fn eq(&self, other
: &Self) -> bool
{
2326 impl ::core
::cmp
::Eq
for PaymentToken {}
2327 impl ::core
::fmt
::Debug
for PaymentToken
{
2328 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2329 f
.debug_tuple("PaymentToken").field(&self.0).finish()
2332 impl ::windows
::core
::RuntimeType
for PaymentToken
{
2333 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.ApplicationModel.Payments.PaymentToken;{bbcac013-ccd0-41f2-b2a1-0a2e4b5dce25})");
2335 impl ::core
::clone
::Clone
for PaymentToken
{
2336 fn clone(&self) -> Self {
2337 Self(self.0.clone())
2340 unsafe impl ::windows
::core
::Interface
for PaymentToken
{
2341 type Vtable
= IPaymentToken_Vtbl
;
2343 unsafe impl ::windows
::core
::ComInterface
for PaymentToken
{
2344 const IID
: ::windows
::core
::GUID
= <IPaymentToken
as ::windows
::core
::ComInterface
>::IID
;
2346 impl ::windows
::core
::RuntimeName
for PaymentToken
{
2347 const NAME
: &'
static str = "Windows.ApplicationModel.Payments.PaymentToken";
2349 ::windows
::imp
::interface_hierarchy
!(PaymentToken
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
2350 unsafe impl ::core
::marker
::Send
for PaymentToken {}
2351 unsafe impl ::core
::marker
::Sync
for PaymentToken {}
2352 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2353 #[repr(transparent)]
2354 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2355 pub struct PaymentCanMakePaymentResultStatus(pub i32);
2356 impl PaymentCanMakePaymentResultStatus
{
2357 pub const Unknown
: Self = Self(0i32);
2358 pub const Yes
: Self = Self(1i32);
2359 pub const No
: Self = Self(2i32);
2360 pub const NotAllowed
: Self = Self(3i32);
2361 pub const UserNotSignedIn
: Self = Self(4i32);
2362 pub const SpecifiedPaymentMethodIdsNotSupported
: Self = Self(5i32);
2363 pub const NoQualifyingCardOnFile
: Self = Self(6i32);
2365 impl ::core
::marker
::Copy
for PaymentCanMakePaymentResultStatus {}
2366 impl ::core
::clone
::Clone
for PaymentCanMakePaymentResultStatus
{
2367 fn clone(&self) -> Self {
2371 impl ::core
::default::Default
for PaymentCanMakePaymentResultStatus
{
2372 fn default() -> Self {
2376 impl ::windows
::core
::TypeKind
for PaymentCanMakePaymentResultStatus
{
2377 type TypeKind
= ::windows
::core
::CopyType
;
2379 impl ::core
::fmt
::Debug
for PaymentCanMakePaymentResultStatus
{
2380 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2381 f
.debug_tuple("PaymentCanMakePaymentResultStatus").field(&self.0).finish()
2384 impl ::windows
::core
::RuntimeType
for PaymentCanMakePaymentResultStatus
{
2385 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentCanMakePaymentResultStatus;i4)");
2387 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2388 #[repr(transparent)]
2389 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2390 pub struct PaymentOptionPresence(pub i32);
2391 impl PaymentOptionPresence
{
2392 pub const None
: Self = Self(0i32);
2393 pub const Optional
: Self = Self(1i32);
2394 pub const Required
: Self = Self(2i32);
2396 impl ::core
::marker
::Copy
for PaymentOptionPresence {}
2397 impl ::core
::clone
::Clone
for PaymentOptionPresence
{
2398 fn clone(&self) -> Self {
2402 impl ::core
::default::Default
for PaymentOptionPresence
{
2403 fn default() -> Self {
2407 impl ::windows
::core
::TypeKind
for PaymentOptionPresence
{
2408 type TypeKind
= ::windows
::core
::CopyType
;
2410 impl ::core
::fmt
::Debug
for PaymentOptionPresence
{
2411 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2412 f
.debug_tuple("PaymentOptionPresence").field(&self.0).finish()
2415 impl ::windows
::core
::RuntimeType
for PaymentOptionPresence
{
2416 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentOptionPresence;i4)");
2418 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2419 #[repr(transparent)]
2420 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2421 pub struct PaymentRequestChangeKind(pub i32);
2422 impl PaymentRequestChangeKind
{
2423 pub const ShippingOption
: Self = Self(0i32);
2424 pub const ShippingAddress
: Self = Self(1i32);
2426 impl ::core
::marker
::Copy
for PaymentRequestChangeKind {}
2427 impl ::core
::clone
::Clone
for PaymentRequestChangeKind
{
2428 fn clone(&self) -> Self {
2432 impl ::core
::default::Default
for PaymentRequestChangeKind
{
2433 fn default() -> Self {
2437 impl ::windows
::core
::TypeKind
for PaymentRequestChangeKind
{
2438 type TypeKind
= ::windows
::core
::CopyType
;
2440 impl ::core
::fmt
::Debug
for PaymentRequestChangeKind
{
2441 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2442 f
.debug_tuple("PaymentRequestChangeKind").field(&self.0).finish()
2445 impl ::windows
::core
::RuntimeType
for PaymentRequestChangeKind
{
2446 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentRequestChangeKind;i4)");
2448 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2449 #[repr(transparent)]
2450 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2451 pub struct PaymentRequestCompletionStatus(pub i32);
2452 impl PaymentRequestCompletionStatus
{
2453 pub const Succeeded
: Self = Self(0i32);
2454 pub const Failed
: Self = Self(1i32);
2455 pub const Unknown
: Self = Self(2i32);
2457 impl ::core
::marker
::Copy
for PaymentRequestCompletionStatus {}
2458 impl ::core
::clone
::Clone
for PaymentRequestCompletionStatus
{
2459 fn clone(&self) -> Self {
2463 impl ::core
::default::Default
for PaymentRequestCompletionStatus
{
2464 fn default() -> Self {
2468 impl ::windows
::core
::TypeKind
for PaymentRequestCompletionStatus
{
2469 type TypeKind
= ::windows
::core
::CopyType
;
2471 impl ::core
::fmt
::Debug
for PaymentRequestCompletionStatus
{
2472 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2473 f
.debug_tuple("PaymentRequestCompletionStatus").field(&self.0).finish()
2476 impl ::windows
::core
::RuntimeType
for PaymentRequestCompletionStatus
{
2477 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentRequestCompletionStatus;i4)");
2479 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2480 #[repr(transparent)]
2481 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2482 pub struct PaymentRequestStatus(pub i32);
2483 impl PaymentRequestStatus
{
2484 pub const Succeeded
: Self = Self(0i32);
2485 pub const Failed
: Self = Self(1i32);
2486 pub const Canceled
: Self = Self(2i32);
2488 impl ::core
::marker
::Copy
for PaymentRequestStatus {}
2489 impl ::core
::clone
::Clone
for PaymentRequestStatus
{
2490 fn clone(&self) -> Self {
2494 impl ::core
::default::Default
for PaymentRequestStatus
{
2495 fn default() -> Self {
2499 impl ::windows
::core
::TypeKind
for PaymentRequestStatus
{
2500 type TypeKind
= ::windows
::core
::CopyType
;
2502 impl ::core
::fmt
::Debug
for PaymentRequestStatus
{
2503 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2504 f
.debug_tuple("PaymentRequestStatus").field(&self.0).finish()
2507 impl ::windows
::core
::RuntimeType
for PaymentRequestStatus
{
2508 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentRequestStatus;i4)");
2510 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2511 #[repr(transparent)]
2512 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2513 pub struct PaymentShippingType(pub i32);
2514 impl PaymentShippingType
{
2515 pub const Shipping
: Self = Self(0i32);
2516 pub const Delivery
: Self = Self(1i32);
2517 pub const Pickup
: Self = Self(2i32);
2519 impl ::core
::marker
::Copy
for PaymentShippingType {}
2520 impl ::core
::clone
::Clone
for PaymentShippingType
{
2521 fn clone(&self) -> Self {
2525 impl ::core
::default::Default
for PaymentShippingType
{
2526 fn default() -> Self {
2530 impl ::windows
::core
::TypeKind
for PaymentShippingType
{
2531 type TypeKind
= ::windows
::core
::CopyType
;
2533 impl ::core
::fmt
::Debug
for PaymentShippingType
{
2534 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2535 f
.debug_tuple("PaymentShippingType").field(&self.0).finish()
2538 impl ::windows
::core
::RuntimeType
for PaymentShippingType
{
2539 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.ApplicationModel.Payments.PaymentShippingType;i4)");
2541 #[doc = "*Required features: `\"ApplicationModel_Payments\"`*"]
2542 #[repr(transparent)]
2543 pub struct PaymentRequestChangedHandler(pub ::windows
::core
::IUnknown
);
2544 impl PaymentRequestChangedHandler
{
2545 pub fn new
<F
: FnMut(::core
::option
::Option
<&PaymentRequest
>, ::core
::option
::Option
<&PaymentRequestChangedArgs
>) -> ::windows
::core
::Result
<()> + ::core
::marker
::Send
+ '
static>(invoke
: F
) -> Self {
2546 let com
= PaymentRequestChangedHandlerBox
::<F
> { vtable: &PaymentRequestChangedHandlerBox::<F>::VTABLE, count: ::windows::imp::RefCount::new(1), invoke }
;
2547 unsafe { ::core::mem::transmute(::std::boxed::Box::new(com)) }
2549 pub fn Invoke(&self, paymentrequest
: &PaymentRequest
, args
: &PaymentRequestChangedArgs
) -> ::windows
::core
::Result
<()> {
2551 unsafe { (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(paymentrequest), ::core::mem::transmute_copy(args)).ok() }
2555 struct PaymentRequestChangedHandlerBox
<F
: FnMut(::core
::option
::Option
<&PaymentRequest
>, ::core
::option
::Option
<&PaymentRequestChangedArgs
>) -> ::windows
::core
::Result
<()> + ::core
::marker
::Send
+ '
static> {
2556 vtable
: *const PaymentRequestChangedHandler_Vtbl
,
2558 count
: ::windows
::imp
::RefCount
,
2560 impl<F
: FnMut(::core
::option
::Option
<&PaymentRequest
>, ::core
::option
::Option
<&PaymentRequestChangedArgs
>) -> ::windows
::core
::Result
<()> + ::core
::marker
::Send
+ '
static> PaymentRequestChangedHandlerBox
<F
> {
2561 const VTABLE
: PaymentRequestChangedHandler_Vtbl
= PaymentRequestChangedHandler_Vtbl
{
2562 base__
: ::windows
::core
::IUnknown_Vtbl { QueryInterface: Self::QueryInterface, AddRef: Self::AddRef, Release: Self::Release }
,
2563 Invoke
: Self::Invoke
,
2565 unsafe extern "system" fn QueryInterface(this
: *mut ::core
::ffi
::c_void
, iid
: &::windows
::core
::GUID
, interface
: *mut *const ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2566 let this
= this
as *mut *mut ::core
::ffi
::c_void
as *mut Self;
2567 *interface
= if iid
== &<PaymentRequestChangedHandler
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<::windows
::core
::IUnknown
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<::windows
::imp
::IAgileObject
as ::windows
::core
::ComInterface
>::IID { &mut (*this).vtable as *mut _ as _ }
else { ::core::ptr::null_mut() }
;
2568 if (*interface
).is_null() {
2569 ::windows
::core
::HRESULT(-2147467262)
2571 (*this
).count
.add_ref();
2572 ::windows
::core
::HRESULT(0)
2575 unsafe extern "system" fn AddRef(this
: *mut ::core
::ffi
::c_void
) -> u32 {
2576 let this
= this
as *mut *mut ::core
::ffi
::c_void
as *mut Self;
2577 (*this
).count
.add_ref()
2579 unsafe extern "system" fn Release(this
: *mut ::core
::ffi
::c_void
) -> u32 {
2580 let this
= this
as *mut *mut ::core
::ffi
::c_void
as *mut Self;
2581 let remaining
= (*this
).count
.release();
2583 let _
= ::std
::boxed
::Box
::from_raw(this
);
2587 unsafe extern "system" fn Invoke(this
: *mut ::core
::ffi
::c_void
, paymentrequest
: *mut ::core
::ffi
::c_void
, args
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2588 let this
= this
as *mut *mut ::core
::ffi
::c_void
as *mut Self;
2589 ((*this
).invoke
)(::windows
::core
::from_raw_borrowed(&paymentrequest
), ::windows
::core
::from_raw_borrowed(&args
)).into()
2592 impl ::core
::cmp
::PartialEq
for PaymentRequestChangedHandler
{
2593 fn eq(&self, other
: &Self) -> bool
{
2597 impl ::core
::cmp
::Eq
for PaymentRequestChangedHandler {}
2598 impl ::core
::fmt
::Debug
for PaymentRequestChangedHandler
{
2599 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
2600 f
.debug_tuple("PaymentRequestChangedHandler").field(&self.0).finish()
2603 unsafe impl ::windows
::core
::Interface
for PaymentRequestChangedHandler
{
2604 type Vtable
= PaymentRequestChangedHandler_Vtbl
;
2606 impl ::core
::clone
::Clone
for PaymentRequestChangedHandler
{
2607 fn clone(&self) -> Self {
2608 Self(self.0.clone())
2611 unsafe impl ::windows
::core
::ComInterface
for PaymentRequestChangedHandler
{
2612 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x5078b9e1_f398_4f2c_a27e_94d371cf6c7d);
2614 impl ::windows
::core
::RuntimeType
for PaymentRequestChangedHandler
{
2615 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"{5078b9e1-f398-4f2c-a27e-94d371cf6c7d}");
2619 pub struct PaymentRequestChangedHandler_Vtbl
{
2620 pub base__
: ::windows
::core
::IUnknown_Vtbl
,
2621 pub Invoke
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, paymentrequest
: *mut ::core
::ffi
::c_void
, args
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
2623 #[cfg(feature = "implement")]
2624 ::core
::include
!("impl.rs");