]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/System/Display/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / System / Display / mod.rs
1 #[doc(hidden)]
2 #[repr(transparent)]
3 pub struct IDisplayRequest(::windows::core::IUnknown);
4 unsafe impl ::windows::core::Interface for IDisplayRequest {
5 type Vtable = IDisplayRequest_Vtbl;
6 }
7 impl ::core::clone::Clone for IDisplayRequest {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11 }
12 unsafe impl ::windows::core::ComInterface for IDisplayRequest {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe5732044_f49f_4b60_8dd4_5e7e3a632ac0);
14 }
15 #[repr(C)]
16 #[doc(hidden)]
17 pub struct IDisplayRequest_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 pub RequestActive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
20 pub RequestRelease: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
21 }
22 #[doc = "*Required features: `\"System_Display\"`*"]
23 #[repr(transparent)]
24 pub struct DisplayRequest(::windows::core::IUnknown);
25 impl DisplayRequest {
26 pub fn new() -> ::windows::core::Result<Self> {
27 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
28 }
29 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
30 static SHARED: ::windows::imp::FactoryCache<DisplayRequest, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
31 SHARED.call(callback)
32 }
33 pub fn RequestActive(&self) -> ::windows::core::Result<()> {
34 let this = self;
35 unsafe { (::windows::core::Interface::vtable(this).RequestActive)(::windows::core::Interface::as_raw(this)).ok() }
36 }
37 pub fn RequestRelease(&self) -> ::windows::core::Result<()> {
38 let this = self;
39 unsafe { (::windows::core::Interface::vtable(this).RequestRelease)(::windows::core::Interface::as_raw(this)).ok() }
40 }
41 }
42 impl ::core::cmp::PartialEq for DisplayRequest {
43 fn eq(&self, other: &Self) -> bool {
44 self.0 == other.0
45 }
46 }
47 impl ::core::cmp::Eq for DisplayRequest {}
48 impl ::core::fmt::Debug for DisplayRequest {
49 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
50 f.debug_tuple("DisplayRequest").field(&self.0).finish()
51 }
52 }
53 impl ::windows::core::RuntimeType for DisplayRequest {
54 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.System.Display.DisplayRequest;{e5732044-f49f-4b60-8dd4-5e7e3a632ac0})");
55 }
56 impl ::core::clone::Clone for DisplayRequest {
57 fn clone(&self) -> Self {
58 Self(self.0.clone())
59 }
60 }
61 unsafe impl ::windows::core::Interface for DisplayRequest {
62 type Vtable = IDisplayRequest_Vtbl;
63 }
64 unsafe impl ::windows::core::ComInterface for DisplayRequest {
65 const IID: ::windows::core::GUID = <IDisplayRequest as ::windows::core::ComInterface>::IID;
66 }
67 impl ::windows::core::RuntimeName for DisplayRequest {
68 const NAME: &'static str = "Windows.System.Display.DisplayRequest";
69 }
70 ::windows::imp::interface_hierarchy!(DisplayRequest, ::windows::core::IUnknown, ::windows::core::IInspectable);
71 #[cfg(feature = "implement")]
72 ::core::include!("impl.rs");