objc2_foundation/generated/
NSProcessInfo.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[deprecated = "Not supported"]
11pub const NSWindowsNTOperatingSystem: c_uint = 1;
12#[deprecated = "Not supported"]
14pub const NSWindows95OperatingSystem: c_uint = 2;
15#[deprecated = "Not supported"]
17pub const NSSolarisOperatingSystem: c_uint = 3;
18#[deprecated = "Not supported"]
20pub const NSHPUXOperatingSystem: c_uint = 4;
21#[deprecated = "Not supported"]
23pub const NSMACHOperatingSystem: c_uint = 5;
24#[deprecated = "Not supported"]
26pub const NSSunOSOperatingSystem: c_uint = 6;
27#[deprecated = "Not supported"]
29pub const NSOSF1OperatingSystem: c_uint = 7;
30
31#[repr(C)]
33#[derive(Clone, Copy, Debug, PartialEq)]
34pub struct NSOperatingSystemVersion {
35 pub majorVersion: NSInteger,
36 pub minorVersion: NSInteger,
37 pub patchVersion: NSInteger,
38}
39
40unsafe impl Encode for NSOperatingSystemVersion {
41 const ENCODING: Encoding = Encoding::Struct(
42 "?",
43 &[
44 <NSInteger>::ENCODING,
45 <NSInteger>::ENCODING,
46 <NSInteger>::ENCODING,
47 ],
48 );
49}
50
51unsafe impl RefEncode for NSOperatingSystemVersion {
52 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
53}
54
55unsafe impl Send for NSOperatingSystemVersion {}
56
57unsafe impl Sync for NSOperatingSystemVersion {}
58
59extern_class!(
60 #[unsafe(super(NSObject))]
62 #[derive(PartialEq, Eq, Hash)]
63 pub struct NSProcessInfo;
64);
65
66unsafe impl Send for NSProcessInfo {}
67
68unsafe impl Sync for NSProcessInfo {}
69
70unsafe impl NSObjectProtocol for NSProcessInfo {}
71
72impl NSProcessInfo {
73 extern_methods!(
74 #[unsafe(method(processInfo))]
75 #[unsafe(method_family = none)]
76 pub fn processInfo() -> Retained<NSProcessInfo>;
77
78 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
79 #[unsafe(method(environment))]
80 #[unsafe(method_family = none)]
81 pub unsafe fn environment(&self) -> Retained<NSDictionary<NSString, NSString>>;
82
83 #[cfg(all(feature = "NSArray", feature = "NSString"))]
84 #[unsafe(method(arguments))]
85 #[unsafe(method_family = none)]
86 pub unsafe fn arguments(&self) -> Retained<NSArray<NSString>>;
87
88 #[cfg(feature = "NSString")]
89 #[unsafe(method(hostName))]
90 #[unsafe(method_family = none)]
91 pub unsafe fn hostName(&self) -> Retained<NSString>;
92
93 #[cfg(feature = "NSString")]
94 #[unsafe(method(processName))]
95 #[unsafe(method_family = none)]
96 pub fn processName(&self) -> Retained<NSString>;
97
98 #[cfg(feature = "NSString")]
99 #[unsafe(method(setProcessName:))]
101 #[unsafe(method_family = none)]
102 pub unsafe fn setProcessName(&self, process_name: &NSString);
103
104 #[unsafe(method(processIdentifier))]
105 #[unsafe(method_family = none)]
106 pub unsafe fn processIdentifier(&self) -> c_int;
107
108 #[cfg(feature = "NSString")]
109 #[unsafe(method(globallyUniqueString))]
110 #[unsafe(method_family = none)]
111 pub unsafe fn globallyUniqueString(&self) -> Retained<NSString>;
112
113 #[deprecated = "-operatingSystem always returns NSMACHOperatingSystem, use -operatingSystemVersion or -isOperatingSystemAtLeastVersion: instead"]
114 #[unsafe(method(operatingSystem))]
115 #[unsafe(method_family = none)]
116 pub unsafe fn operatingSystem(&self) -> NSUInteger;
117
118 #[cfg(feature = "NSString")]
119 #[deprecated = "-operatingSystemName always returns NSMACHOperatingSystem, use -operatingSystemVersionString instead"]
120 #[unsafe(method(operatingSystemName))]
121 #[unsafe(method_family = none)]
122 pub unsafe fn operatingSystemName(&self) -> Retained<NSString>;
123
124 #[cfg(feature = "NSString")]
125 #[unsafe(method(operatingSystemVersionString))]
126 #[unsafe(method_family = none)]
127 pub unsafe fn operatingSystemVersionString(&self) -> Retained<NSString>;
128
129 #[unsafe(method(operatingSystemVersion))]
130 #[unsafe(method_family = none)]
131 pub fn operatingSystemVersion(&self) -> NSOperatingSystemVersion;
132
133 #[unsafe(method(processorCount))]
134 #[unsafe(method_family = none)]
135 pub unsafe fn processorCount(&self) -> NSUInteger;
136
137 #[unsafe(method(activeProcessorCount))]
138 #[unsafe(method_family = none)]
139 pub unsafe fn activeProcessorCount(&self) -> NSUInteger;
140
141 #[unsafe(method(physicalMemory))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn physicalMemory(&self) -> c_ulonglong;
144
145 #[unsafe(method(isOperatingSystemAtLeastVersion:))]
146 #[unsafe(method_family = none)]
147 pub unsafe fn isOperatingSystemAtLeastVersion(
148 &self,
149 version: NSOperatingSystemVersion,
150 ) -> bool;
151
152 #[cfg(feature = "NSDate")]
153 #[unsafe(method(systemUptime))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn systemUptime(&self) -> NSTimeInterval;
156
157 #[unsafe(method(disableSuddenTermination))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn disableSuddenTermination(&self);
160
161 #[unsafe(method(enableSuddenTermination))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn enableSuddenTermination(&self);
164
165 #[cfg(feature = "NSString")]
166 #[unsafe(method(disableAutomaticTermination:))]
167 #[unsafe(method_family = none)]
168 pub unsafe fn disableAutomaticTermination(&self, reason: &NSString);
169
170 #[cfg(feature = "NSString")]
171 #[unsafe(method(enableAutomaticTermination:))]
172 #[unsafe(method_family = none)]
173 pub unsafe fn enableAutomaticTermination(&self, reason: &NSString);
174
175 #[unsafe(method(automaticTerminationSupportEnabled))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn automaticTerminationSupportEnabled(&self) -> bool;
178
179 #[unsafe(method(setAutomaticTerminationSupportEnabled:))]
181 #[unsafe(method_family = none)]
182 pub unsafe fn setAutomaticTerminationSupportEnabled(
183 &self,
184 automatic_termination_support_enabled: bool,
185 );
186 );
187}
188
189impl NSProcessInfo {
191 extern_methods!(
192 #[unsafe(method(init))]
193 #[unsafe(method_family = init)]
194 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
195
196 #[unsafe(method(new))]
197 #[unsafe(method_family = new)]
198 pub unsafe fn new() -> Retained<Self>;
199 );
200}
201
202#[repr(transparent)]
205#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
206pub struct NSActivityOptions(pub u64);
207bitflags::bitflags! {
208 impl NSActivityOptions: u64 {
209 #[doc(alias = "NSActivityIdleDisplaySleepDisabled")]
210 const IdleDisplaySleepDisabled = 1<<40;
211 #[doc(alias = "NSActivityIdleSystemSleepDisabled")]
212 const IdleSystemSleepDisabled = 1<<20;
213 #[doc(alias = "NSActivitySuddenTerminationDisabled")]
214 const SuddenTerminationDisabled = 1<<14;
215 #[doc(alias = "NSActivityAutomaticTerminationDisabled")]
216 const AutomaticTerminationDisabled = 1<<15;
217 #[doc(alias = "NSActivityAnimationTrackingEnabled")]
218 const AnimationTrackingEnabled = 1<<45;
219 #[doc(alias = "NSActivityTrackingEnabled")]
220 const TrackingEnabled = 1<<46;
221 #[doc(alias = "NSActivityUserInitiated")]
222 const UserInitiated = 0x00FFFFFF|NSActivityOptions::IdleSystemSleepDisabled.0;
223 #[doc(alias = "NSActivityUserInitiatedAllowingIdleSystemSleep")]
224 const UserInitiatedAllowingIdleSystemSleep = NSActivityOptions::UserInitiated.0&!NSActivityOptions::IdleSystemSleepDisabled.0;
225 #[doc(alias = "NSActivityBackground")]
226 const Background = 0x000000FF;
227 #[doc(alias = "NSActivityLatencyCritical")]
228 const LatencyCritical = 0xFF00000000;
229 #[doc(alias = "NSActivityUserInteractive")]
230 const UserInteractive = NSActivityOptions::UserInitiated.0|NSActivityOptions::LatencyCritical.0;
231 }
232}
233
234unsafe impl Encode for NSActivityOptions {
235 const ENCODING: Encoding = u64::ENCODING;
236}
237
238unsafe impl RefEncode for NSActivityOptions {
239 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
240}
241
242impl NSProcessInfo {
244 extern_methods!(
245 #[cfg(feature = "NSString")]
246 #[unsafe(method(beginActivityWithOptions:reason:))]
247 #[unsafe(method_family = none)]
248 pub unsafe fn beginActivityWithOptions_reason(
249 &self,
250 options: NSActivityOptions,
251 reason: &NSString,
252 ) -> Retained<ProtocolObject<dyn NSObjectProtocol>>;
253
254 #[unsafe(method(endActivity:))]
255 #[unsafe(method_family = none)]
256 pub unsafe fn endActivity(&self, activity: &ProtocolObject<dyn NSObjectProtocol>);
257
258 #[cfg(all(feature = "NSString", feature = "block2"))]
259 #[unsafe(method(performActivityWithOptions:reason:usingBlock:))]
260 #[unsafe(method_family = none)]
261 pub unsafe fn performActivityWithOptions_reason_usingBlock(
262 &self,
263 options: NSActivityOptions,
264 reason: &NSString,
265 block: &block2::Block<dyn Fn()>,
266 );
267
268 #[cfg(all(feature = "NSString", feature = "block2"))]
269 #[unsafe(method(performExpiringActivityWithReason:usingBlock:))]
270 #[unsafe(method_family = none)]
271 pub unsafe fn performExpiringActivityWithReason_usingBlock(
272 &self,
273 reason: &NSString,
274 block: &block2::Block<dyn Fn(Bool)>,
275 );
276 );
277}
278
279impl NSProcessInfo {
281 extern_methods!(
282 #[cfg(feature = "NSString")]
283 #[unsafe(method(userName))]
284 #[unsafe(method_family = none)]
285 pub unsafe fn userName(&self) -> Retained<NSString>;
286
287 #[cfg(feature = "NSString")]
288 #[unsafe(method(fullUserName))]
289 #[unsafe(method_family = none)]
290 pub unsafe fn fullUserName(&self) -> Retained<NSString>;
291 );
292}
293
294#[repr(transparent)]
297#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
298pub struct NSProcessInfoThermalState(pub NSInteger);
299impl NSProcessInfoThermalState {
300 #[doc(alias = "NSProcessInfoThermalStateNominal")]
301 pub const Nominal: Self = Self(0);
302 #[doc(alias = "NSProcessInfoThermalStateFair")]
303 pub const Fair: Self = Self(1);
304 #[doc(alias = "NSProcessInfoThermalStateSerious")]
305 pub const Serious: Self = Self(2);
306 #[doc(alias = "NSProcessInfoThermalStateCritical")]
307 pub const Critical: Self = Self(3);
308}
309
310unsafe impl Encode for NSProcessInfoThermalState {
311 const ENCODING: Encoding = NSInteger::ENCODING;
312}
313
314unsafe impl RefEncode for NSProcessInfoThermalState {
315 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
316}
317
318impl NSProcessInfo {
320 extern_methods!(
321 #[unsafe(method(thermalState))]
322 #[unsafe(method_family = none)]
323 pub unsafe fn thermalState(&self) -> NSProcessInfoThermalState;
324 );
325}
326
327impl NSProcessInfo {
329 extern_methods!(
330 #[unsafe(method(isLowPowerModeEnabled))]
331 #[unsafe(method_family = none)]
332 pub unsafe fn isLowPowerModeEnabled(&self) -> bool;
333 );
334}
335
336extern "C" {
337 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
339 pub static NSProcessInfoThermalStateDidChangeNotification: &'static NSNotificationName;
340}
341
342extern "C" {
343 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
345 pub static NSProcessInfoPowerStateDidChangeNotification: &'static NSNotificationName;
346}
347
348impl NSProcessInfo {
350 extern_methods!(
351 #[unsafe(method(isMacCatalystApp))]
352 #[unsafe(method_family = none)]
353 pub unsafe fn isMacCatalystApp(&self) -> bool;
354
355 #[unsafe(method(isiOSAppOnMac))]
356 #[unsafe(method_family = none)]
357 pub unsafe fn isiOSAppOnMac(&self) -> bool;
358 );
359}