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
40unsafe impl NSObjectProtocol for NSTask {}
41
42impl NSTask {
43 extern_methods!(
44 #[unsafe(method(init))]
45 #[unsafe(method_family = init)]
46 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
47
48 #[cfg(feature = "NSURL")]
49 #[unsafe(method(executableURL))]
50 #[unsafe(method_family = none)]
51 pub unsafe fn executableURL(&self) -> Option<Retained<NSURL>>;
52
53 #[cfg(feature = "NSURL")]
54 #[unsafe(method(setExecutableURL:))]
56 #[unsafe(method_family = none)]
57 pub unsafe fn setExecutableURL(&self, executable_url: Option<&NSURL>);
58
59 #[cfg(all(feature = "NSArray", feature = "NSString"))]
60 #[unsafe(method(arguments))]
61 #[unsafe(method_family = none)]
62 pub unsafe fn arguments(&self) -> Option<Retained<NSArray<NSString>>>;
63
64 #[cfg(all(feature = "NSArray", feature = "NSString"))]
65 #[unsafe(method(setArguments:))]
67 #[unsafe(method_family = none)]
68 pub unsafe fn setArguments(&self, arguments: Option<&NSArray<NSString>>);
69
70 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
71 #[unsafe(method(environment))]
72 #[unsafe(method_family = none)]
73 pub unsafe fn environment(&self) -> Option<Retained<NSDictionary<NSString, NSString>>>;
74
75 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
76 #[unsafe(method(setEnvironment:))]
78 #[unsafe(method_family = none)]
79 pub unsafe fn setEnvironment(&self, environment: Option<&NSDictionary<NSString, NSString>>);
80
81 #[cfg(feature = "NSURL")]
82 #[unsafe(method(currentDirectoryURL))]
83 #[unsafe(method_family = none)]
84 pub unsafe fn currentDirectoryURL(&self) -> Option<Retained<NSURL>>;
85
86 #[cfg(feature = "NSURL")]
87 #[unsafe(method(setCurrentDirectoryURL:))]
89 #[unsafe(method_family = none)]
90 pub unsafe fn setCurrentDirectoryURL(&self, current_directory_url: Option<&NSURL>);
91
92 #[cfg(feature = "NSData")]
93 #[unsafe(method(launchRequirementData))]
94 #[unsafe(method_family = none)]
95 pub unsafe fn launchRequirementData(&self) -> Option<Retained<NSData>>;
96
97 #[cfg(feature = "NSData")]
98 #[unsafe(method(setLaunchRequirementData:))]
100 #[unsafe(method_family = none)]
101 pub unsafe fn setLaunchRequirementData(&self, launch_requirement_data: Option<&NSData>);
102
103 #[unsafe(method(standardInput))]
104 #[unsafe(method_family = none)]
105 pub unsafe fn standardInput(&self) -> Option<Retained<AnyObject>>;
106
107 #[unsafe(method(setStandardInput:))]
109 #[unsafe(method_family = none)]
110 pub unsafe fn setStandardInput(&self, standard_input: Option<&AnyObject>);
111
112 #[unsafe(method(standardOutput))]
113 #[unsafe(method_family = none)]
114 pub unsafe fn standardOutput(&self) -> Option<Retained<AnyObject>>;
115
116 #[unsafe(method(setStandardOutput:))]
118 #[unsafe(method_family = none)]
119 pub unsafe fn setStandardOutput(&self, standard_output: Option<&AnyObject>);
120
121 #[unsafe(method(standardError))]
122 #[unsafe(method_family = none)]
123 pub unsafe fn standardError(&self) -> Option<Retained<AnyObject>>;
124
125 #[unsafe(method(setStandardError:))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn setStandardError(&self, standard_error: Option<&AnyObject>);
129
130 #[cfg(feature = "NSError")]
131 #[unsafe(method(launchAndReturnError:_))]
132 #[unsafe(method_family = none)]
133 pub unsafe fn launchAndReturnError(&self) -> Result<(), Retained<NSError>>;
134
135 #[unsafe(method(interrupt))]
136 #[unsafe(method_family = none)]
137 pub unsafe fn interrupt(&self);
138
139 #[unsafe(method(terminate))]
140 #[unsafe(method_family = none)]
141 pub unsafe fn terminate(&self);
142
143 #[unsafe(method(suspend))]
144 #[unsafe(method_family = none)]
145 pub unsafe fn suspend(&self) -> bool;
146
147 #[unsafe(method(resume))]
148 #[unsafe(method_family = none)]
149 pub unsafe fn resume(&self) -> bool;
150
151 #[unsafe(method(processIdentifier))]
152 #[unsafe(method_family = none)]
153 pub unsafe fn processIdentifier(&self) -> c_int;
154
155 #[unsafe(method(isRunning))]
156 #[unsafe(method_family = none)]
157 pub unsafe fn isRunning(&self) -> bool;
158
159 #[unsafe(method(terminationStatus))]
160 #[unsafe(method_family = none)]
161 pub unsafe fn terminationStatus(&self) -> c_int;
162
163 #[unsafe(method(terminationReason))]
164 #[unsafe(method_family = none)]
165 pub unsafe fn terminationReason(&self) -> NSTaskTerminationReason;
166
167 #[cfg(feature = "block2")]
168 #[unsafe(method(terminationHandler))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn terminationHandler(&self) -> *mut block2::Block<dyn Fn(NonNull<NSTask>)>;
171
172 #[cfg(feature = "block2")]
173 #[unsafe(method(setTerminationHandler:))]
175 #[unsafe(method_family = none)]
176 pub unsafe fn setTerminationHandler(
177 &self,
178 termination_handler: Option<&block2::Block<dyn Fn(NonNull<NSTask>)>>,
179 );
180
181 #[cfg(feature = "NSObjCRuntime")]
182 #[unsafe(method(qualityOfService))]
183 #[unsafe(method_family = none)]
184 pub unsafe fn qualityOfService(&self) -> NSQualityOfService;
185
186 #[cfg(feature = "NSObjCRuntime")]
187 #[unsafe(method(setQualityOfService:))]
189 #[unsafe(method_family = none)]
190 pub unsafe fn setQualityOfService(&self, quality_of_service: NSQualityOfService);
191 );
192}
193
194impl NSTask {
196 extern_methods!(
197 #[unsafe(method(new))]
198 #[unsafe(method_family = new)]
199 pub unsafe fn new() -> Retained<Self>;
200 );
201}
202
203impl NSTask {
205 extern_methods!(
206 #[cfg(all(
207 feature = "NSArray",
208 feature = "NSError",
209 feature = "NSString",
210 feature = "NSURL",
211 feature = "block2"
212 ))]
213 #[unsafe(method(launchedTaskWithExecutableURL:arguments:error:terminationHandler:))]
214 #[unsafe(method_family = none)]
215 pub unsafe fn launchedTaskWithExecutableURL_arguments_error_terminationHandler(
216 url: &NSURL,
217 arguments: &NSArray<NSString>,
218 error: Option<&mut Option<Retained<NSError>>>,
219 termination_handler: Option<&block2::Block<dyn Fn(NonNull<NSTask>)>>,
220 ) -> Option<Retained<NSTask>>;
221
222 #[unsafe(method(waitUntilExit))]
223 #[unsafe(method_family = none)]
224 pub unsafe fn waitUntilExit(&self);
225 );
226}
227
228impl NSTask {
230 extern_methods!(
231 #[cfg(feature = "NSString")]
232 #[deprecated]
233 #[unsafe(method(launchPath))]
234 #[unsafe(method_family = none)]
235 pub unsafe fn launchPath(&self) -> Option<Retained<NSString>>;
236
237 #[cfg(feature = "NSString")]
238 #[deprecated]
240 #[unsafe(method(setLaunchPath:))]
241 #[unsafe(method_family = none)]
242 pub unsafe fn setLaunchPath(&self, launch_path: Option<&NSString>);
243
244 #[cfg(feature = "NSString")]
245 #[deprecated]
246 #[unsafe(method(currentDirectoryPath))]
247 #[unsafe(method_family = none)]
248 pub unsafe fn currentDirectoryPath(&self) -> Retained<NSString>;
249
250 #[cfg(feature = "NSString")]
251 #[deprecated]
253 #[unsafe(method(setCurrentDirectoryPath:))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn setCurrentDirectoryPath(&self, current_directory_path: &NSString);
256
257 #[deprecated]
258 #[unsafe(method(launch))]
259 #[unsafe(method_family = none)]
260 pub unsafe fn launch(&self);
261
262 #[cfg(all(feature = "NSArray", feature = "NSString"))]
263 #[deprecated]
264 #[unsafe(method(launchedTaskWithLaunchPath:arguments:))]
265 #[unsafe(method_family = none)]
266 pub unsafe fn launchedTaskWithLaunchPath_arguments(
267 path: &NSString,
268 arguments: &NSArray<NSString>,
269 ) -> Retained<NSTask>;
270 );
271}
272
273extern "C" {
274 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
276 pub static NSTaskDidTerminateNotification: &'static NSNotificationName;
277}