objc2_foundation/generated/
NSTask.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSTaskTerminationReason(pub NSInteger);
14impl NSTaskTerminationReason {
15 #[doc(alias = "NSTaskTerminationReasonExit")]
16 pub const Exit: Self = Self(1);
17 #[doc(alias = "NSTaskTerminationReasonUncaughtSignal")]
18 pub const UncaughtSignal: Self = Self(2);
19}
20
21unsafe impl Encode for NSTaskTerminationReason {
22 const ENCODING: Encoding = NSInteger::ENCODING;
23}
24
25unsafe impl RefEncode for NSTaskTerminationReason {
26 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
27}
28
29extern_class!(
30 #[unsafe(super(NSObject))]
32 #[derive(Debug, PartialEq, Eq, Hash)]
33 pub struct NSTask;
34);
35
36unsafe impl Send for NSTask {}
37
38unsafe impl Sync for NSTask {}
39
40extern_conformance!(
41 unsafe impl NSObjectProtocol for NSTask {}
42);
43
44impl NSTask {
45 extern_methods!(
46 #[unsafe(method(init))]
47 #[unsafe(method_family = init)]
48 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
49
50 #[cfg(feature = "NSURL")]
51 #[unsafe(method(executableURL))]
52 #[unsafe(method_family = none)]
53 pub unsafe fn executableURL(&self) -> Option<Retained<NSURL>>;
54
55 #[cfg(feature = "NSURL")]
56 #[unsafe(method(setExecutableURL:))]
58 #[unsafe(method_family = none)]
59 pub unsafe fn setExecutableURL(&self, executable_url: Option<&NSURL>);
60
61 #[cfg(all(feature = "NSArray", feature = "NSString"))]
62 #[unsafe(method(arguments))]
63 #[unsafe(method_family = none)]
64 pub unsafe fn arguments(&self) -> Option<Retained<NSArray<NSString>>>;
65
66 #[cfg(all(feature = "NSArray", feature = "NSString"))]
67 #[unsafe(method(setArguments:))]
69 #[unsafe(method_family = none)]
70 pub unsafe fn setArguments(&self, arguments: Option<&NSArray<NSString>>);
71
72 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
73 #[unsafe(method(environment))]
74 #[unsafe(method_family = none)]
75 pub unsafe fn environment(&self) -> Option<Retained<NSDictionary<NSString, NSString>>>;
76
77 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
78 #[unsafe(method(setEnvironment:))]
80 #[unsafe(method_family = none)]
81 pub unsafe fn setEnvironment(&self, environment: Option<&NSDictionary<NSString, NSString>>);
82
83 #[cfg(feature = "NSURL")]
84 #[unsafe(method(currentDirectoryURL))]
85 #[unsafe(method_family = none)]
86 pub unsafe fn currentDirectoryURL(&self) -> Option<Retained<NSURL>>;
87
88 #[cfg(feature = "NSURL")]
89 #[unsafe(method(setCurrentDirectoryURL:))]
91 #[unsafe(method_family = none)]
92 pub unsafe fn setCurrentDirectoryURL(&self, current_directory_url: Option<&NSURL>);
93
94 #[cfg(feature = "NSData")]
95 #[unsafe(method(launchRequirementData))]
96 #[unsafe(method_family = none)]
97 pub unsafe fn launchRequirementData(&self) -> Option<Retained<NSData>>;
98
99 #[cfg(feature = "NSData")]
100 #[unsafe(method(setLaunchRequirementData:))]
102 #[unsafe(method_family = none)]
103 pub unsafe fn setLaunchRequirementData(&self, launch_requirement_data: Option<&NSData>);
104
105 #[unsafe(method(standardInput))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn standardInput(&self) -> Option<Retained<AnyObject>>;
108
109 #[unsafe(method(setStandardInput:))]
111 #[unsafe(method_family = none)]
112 pub unsafe fn setStandardInput(&self, standard_input: Option<&AnyObject>);
113
114 #[unsafe(method(standardOutput))]
115 #[unsafe(method_family = none)]
116 pub unsafe fn standardOutput(&self) -> Option<Retained<AnyObject>>;
117
118 #[unsafe(method(setStandardOutput:))]
120 #[unsafe(method_family = none)]
121 pub unsafe fn setStandardOutput(&self, standard_output: Option<&AnyObject>);
122
123 #[unsafe(method(standardError))]
124 #[unsafe(method_family = none)]
125 pub unsafe fn standardError(&self) -> Option<Retained<AnyObject>>;
126
127 #[unsafe(method(setStandardError:))]
129 #[unsafe(method_family = none)]
130 pub unsafe fn setStandardError(&self, standard_error: Option<&AnyObject>);
131
132 #[cfg(feature = "NSError")]
133 #[unsafe(method(launchAndReturnError:_))]
134 #[unsafe(method_family = none)]
135 pub unsafe fn launchAndReturnError(&self) -> Result<(), Retained<NSError>>;
136
137 #[unsafe(method(interrupt))]
138 #[unsafe(method_family = none)]
139 pub unsafe fn interrupt(&self);
140
141 #[unsafe(method(terminate))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn terminate(&self);
144
145 #[unsafe(method(suspend))]
146 #[unsafe(method_family = none)]
147 pub unsafe fn suspend(&self) -> bool;
148
149 #[unsafe(method(resume))]
150 #[unsafe(method_family = none)]
151 pub unsafe fn resume(&self) -> bool;
152
153 #[unsafe(method(processIdentifier))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn processIdentifier(&self) -> c_int;
156
157 #[unsafe(method(isRunning))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn isRunning(&self) -> bool;
160
161 #[unsafe(method(terminationStatus))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn terminationStatus(&self) -> c_int;
164
165 #[unsafe(method(terminationReason))]
166 #[unsafe(method_family = none)]
167 pub unsafe fn terminationReason(&self) -> NSTaskTerminationReason;
168
169 #[cfg(feature = "block2")]
170 #[unsafe(method(terminationHandler))]
171 #[unsafe(method_family = none)]
172 pub unsafe fn terminationHandler(&self) -> *mut block2::DynBlock<dyn Fn(NonNull<NSTask>)>;
173
174 #[cfg(feature = "block2")]
175 #[unsafe(method(setTerminationHandler:))]
177 #[unsafe(method_family = none)]
178 pub unsafe fn setTerminationHandler(
179 &self,
180 termination_handler: Option<&block2::DynBlock<dyn Fn(NonNull<NSTask>)>>,
181 );
182
183 #[cfg(feature = "NSObjCRuntime")]
184 #[unsafe(method(qualityOfService))]
185 #[unsafe(method_family = none)]
186 pub unsafe fn qualityOfService(&self) -> NSQualityOfService;
187
188 #[cfg(feature = "NSObjCRuntime")]
189 #[unsafe(method(setQualityOfService:))]
191 #[unsafe(method_family = none)]
192 pub unsafe fn setQualityOfService(&self, quality_of_service: NSQualityOfService);
193 );
194}
195
196impl NSTask {
198 extern_methods!(
199 #[unsafe(method(new))]
200 #[unsafe(method_family = new)]
201 pub unsafe fn new() -> Retained<Self>;
202 );
203}
204
205impl NSTask {
207 extern_methods!(
208 #[cfg(all(
209 feature = "NSArray",
210 feature = "NSError",
211 feature = "NSString",
212 feature = "NSURL",
213 feature = "block2"
214 ))]
215 #[unsafe(method(launchedTaskWithExecutableURL:arguments:error:terminationHandler:))]
216 #[unsafe(method_family = none)]
217 pub unsafe fn launchedTaskWithExecutableURL_arguments_error_terminationHandler(
218 url: &NSURL,
219 arguments: &NSArray<NSString>,
220 error: Option<&mut Option<Retained<NSError>>>,
221 termination_handler: Option<&block2::DynBlock<dyn Fn(NonNull<NSTask>)>>,
222 ) -> Option<Retained<NSTask>>;
223
224 #[unsafe(method(waitUntilExit))]
225 #[unsafe(method_family = none)]
226 pub unsafe fn waitUntilExit(&self);
227 );
228}
229
230impl NSTask {
232 extern_methods!(
233 #[cfg(feature = "NSString")]
234 #[deprecated]
235 #[unsafe(method(launchPath))]
236 #[unsafe(method_family = none)]
237 pub unsafe fn launchPath(&self) -> Option<Retained<NSString>>;
238
239 #[cfg(feature = "NSString")]
240 #[deprecated]
242 #[unsafe(method(setLaunchPath:))]
243 #[unsafe(method_family = none)]
244 pub unsafe fn setLaunchPath(&self, launch_path: Option<&NSString>);
245
246 #[cfg(feature = "NSString")]
247 #[deprecated]
248 #[unsafe(method(currentDirectoryPath))]
249 #[unsafe(method_family = none)]
250 pub unsafe fn currentDirectoryPath(&self) -> Retained<NSString>;
251
252 #[cfg(feature = "NSString")]
253 #[deprecated]
255 #[unsafe(method(setCurrentDirectoryPath:))]
256 #[unsafe(method_family = none)]
257 pub unsafe fn setCurrentDirectoryPath(&self, current_directory_path: &NSString);
258
259 #[deprecated]
260 #[unsafe(method(launch))]
261 #[unsafe(method_family = none)]
262 pub unsafe fn launch(&self);
263
264 #[cfg(all(feature = "NSArray", feature = "NSString"))]
265 #[deprecated]
266 #[unsafe(method(launchedTaskWithLaunchPath:arguments:))]
267 #[unsafe(method_family = none)]
268 pub unsafe fn launchedTaskWithLaunchPath_arguments(
269 path: &NSString,
270 arguments: &NSArray<NSString>,
271 ) -> Retained<NSTask>;
272 );
273}
274
275extern "C" {
276 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
278 pub static NSTaskDidTerminateNotification: &'static NSNotificationName;
279}