objc2_app_kit/generated/NSToolbarItem.rs
1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-cloud-kit")]
7#[cfg(target_vendor = "apple")]
8use objc2_cloud_kit::*;
9use objc2_foundation::*;
10
11use crate::*;
12
13/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvisibilitypriority?language=objc)
14// NS_TYPED_EXTENSIBLE_ENUM
15pub type NSToolbarItemVisibilityPriority = NSInteger;
16
17/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvisibilityprioritystandard?language=objc)
18pub static NSToolbarItemVisibilityPriorityStandard: NSToolbarItemVisibilityPriority = 0;
19
20/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvisibilityprioritylow?language=objc)
21pub static NSToolbarItemVisibilityPriorityLow: NSToolbarItemVisibilityPriority = -1000;
22
23/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvisibilitypriorityhigh?language=objc)
24pub static NSToolbarItemVisibilityPriorityHigh: NSToolbarItemVisibilityPriority = 1000;
25
26/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvisibilitypriorityuser?language=objc)
27pub static NSToolbarItemVisibilityPriorityUser: NSToolbarItemVisibilityPriority = 2000;
28
29extern_class!(
30 /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritem?language=objc)
31 #[unsafe(super(NSObject))]
32 #[thread_kind = MainThreadOnly]
33 #[derive(Debug, PartialEq, Eq, Hash)]
34 pub struct NSToolbarItem;
35);
36
37unsafe impl NSCopying for NSToolbarItem {}
38
39unsafe impl CopyingHelper for NSToolbarItem {
40 type Result = Self;
41}
42
43unsafe impl NSObjectProtocol for NSToolbarItem {}
44
45impl NSToolbarItem {
46 extern_methods!(
47 #[cfg(feature = "NSToolbar")]
48 /// Initialize the toolbar item with an identifier which is a development language string used by the toolbar and its delegate for identification purposes.
49 #[unsafe(method(initWithItemIdentifier:))]
50 #[unsafe(method_family = init)]
51 pub unsafe fn initWithItemIdentifier(
52 this: Allocated<Self>,
53 item_identifier: &NSToolbarItemIdentifier,
54 ) -> Retained<Self>;
55
56 #[cfg(feature = "NSToolbar")]
57 #[unsafe(method(itemIdentifier))]
58 #[unsafe(method_family = none)]
59 pub unsafe fn itemIdentifier(&self) -> Retained<NSToolbarItemIdentifier>;
60
61 #[cfg(feature = "NSToolbar")]
62 /// Use this to determine the toolbar in which an item is currently displayed.
63 #[unsafe(method(toolbar))]
64 #[unsafe(method_family = none)]
65 pub unsafe fn toolbar(&self) -> Option<Retained<NSToolbar>>;
66
67 /// Use this to set the item's label that appears in the toolbar.
68 /// The label may also be used for the default `menuFormRepresentation` of the item.
69 /// Also, developers should make sure the length of the label is appropriate and not too long.
70 #[unsafe(method(label))]
71 #[unsafe(method_family = none)]
72 pub unsafe fn label(&self) -> Retained<NSString>;
73
74 /// Setter for [`label`][Self::label].
75 #[unsafe(method(setLabel:))]
76 #[unsafe(method_family = none)]
77 pub unsafe fn setLabel(&self, label: &NSString);
78
79 /// Use this to set the item's label that appears when the item is in the customization palette.
80 /// All Items must have a palette label, and for most things it is reasonable to set them to the same string as the label used in the toolbar.
81 #[unsafe(method(paletteLabel))]
82 #[unsafe(method_family = none)]
83 pub unsafe fn paletteLabel(&self) -> Retained<NSString>;
84
85 /// Setter for [`paletteLabel`][Self::paletteLabel].
86 #[unsafe(method(setPaletteLabel:))]
87 #[unsafe(method_family = none)]
88 pub unsafe fn setPaletteLabel(&self, palette_label: &NSString);
89
90 /// An array of all alternate labels this item may display.
91 /// The item will use the size of the longest label to prevent resizing when the label is changed.
92 #[unsafe(method(possibleLabels))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn possibleLabels(&self) -> Retained<NSSet<NSString>>;
95
96 /// Setter for [`possibleLabels`][Self::possibleLabels].
97 #[unsafe(method(setPossibleLabels:))]
98 #[unsafe(method_family = none)]
99 pub unsafe fn setPossibleLabels(&self, possible_labels: &NSSet<NSString>);
100
101 /// Use this to set a tooltip to be used when the item is displayed in the toolbar. (forwards to `-view` if it responds)
102 #[unsafe(method(toolTip))]
103 #[unsafe(method_family = none)]
104 pub unsafe fn toolTip(&self) -> Option<Retained<NSString>>;
105
106 /// Setter for [`toolTip`][Self::toolTip].
107 #[unsafe(method(setToolTip:))]
108 #[unsafe(method_family = none)]
109 pub unsafe fn setToolTip(&self, tool_tip: Option<&NSString>);
110
111 #[cfg(feature = "NSMenuItem")]
112 /// The menu form of a toolbar item's purpose is twofold.
113 /// First, when the window is too small to display an item, it will be clipped but remain accessible from a "clipped items" menu containing the menu item returned here.
114 /// Second, in text only mode, the menu returned will be used to create the displayed items.
115 /// Singleton menu items will be clickable, while submenu items will be represented as a pull down.
116 /// For instance, say you want a button that allows you to switch between modes A, B, and C.
117 /// You could represent this as a menu by: a menu item "mode" with three submenu items "A", "B", and "C".
118 /// By default, this method returns a singleton menu item with item label as the title.
119 /// For standard items, the target, action is set.
120 #[unsafe(method(menuFormRepresentation))]
121 #[unsafe(method_family = none)]
122 pub unsafe fn menuFormRepresentation(&self) -> Option<Retained<NSMenuItem>>;
123
124 #[cfg(feature = "NSMenuItem")]
125 /// Setter for [`menuFormRepresentation`][Self::menuFormRepresentation].
126 #[unsafe(method(setMenuFormRepresentation:))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn setMenuFormRepresentation(
129 &self,
130 menu_form_representation: Option<&NSMenuItem>,
131 );
132
133 /// Tag for your own custom purpose. (forwards to `-view` if it responds)
134 #[unsafe(method(tag))]
135 #[unsafe(method_family = none)]
136 pub unsafe fn tag(&self) -> NSInteger;
137
138 /// Setter for [`tag`][Self::tag].
139 #[unsafe(method(setTag:))]
140 #[unsafe(method_family = none)]
141 pub unsafe fn setTag(&self, tag: NSInteger);
142
143 /// Set and get the action of an item. (forwards to `-view` if it responds)
144 #[unsafe(method(target))]
145 #[unsafe(method_family = none)]
146 pub unsafe fn target(&self) -> Option<Retained<AnyObject>>;
147
148 /// This is a [weak property][objc2::topics::weak_property].
149 /// Setter for [`target`][Self::target].
150 #[unsafe(method(setTarget:))]
151 #[unsafe(method_family = none)]
152 pub unsafe fn setTarget(&self, target: Option<&AnyObject>);
153
154 /// Set and get the action of an item.
155 /// For custom views, this method will call `-setAction:` on the view if it responds. (forwards to `-view` if it responds)
156 #[unsafe(method(action))]
157 #[unsafe(method_family = none)]
158 pub unsafe fn action(&self) -> Option<Sel>;
159
160 /// Setter for [`action`][Self::action].
161 #[unsafe(method(setAction:))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn setAction(&self, action: Option<Sel>);
164
165 /// Set and get the enabled flag of an item.
166 /// For custom views, this method will call `-setEnabled:` on the view if it responds. (forwards to `-view` if it responds)
167 #[unsafe(method(isEnabled))]
168 #[unsafe(method_family = none)]
169 pub unsafe fn isEnabled(&self) -> bool;
170
171 /// Setter for [`isEnabled`][Self::isEnabled].
172 #[unsafe(method(setEnabled:))]
173 #[unsafe(method_family = none)]
174 pub unsafe fn setEnabled(&self, enabled: bool);
175
176 #[cfg(feature = "NSImage")]
177 #[unsafe(method(image))]
178 #[unsafe(method_family = none)]
179 pub unsafe fn image(&self) -> Option<Retained<NSImage>>;
180
181 #[cfg(feature = "NSImage")]
182 /// Setter for [`image`][Self::image].
183 #[unsafe(method(setImage:))]
184 #[unsafe(method_family = none)]
185 pub unsafe fn setImage(&self, image: Option<&NSImage>);
186
187 /// Set and get the title of an item.
188 /// For custom views, this method will call `-setTitle:` on the view if it responds. (forwards to `-view` if it responds)
189 #[unsafe(method(title))]
190 #[unsafe(method_family = none)]
191 pub unsafe fn title(&self) -> Retained<NSString>;
192
193 /// Setter for [`title`][Self::title].
194 #[unsafe(method(setTitle:))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn setTitle(&self, title: &NSString);
197
198 /// When set on an item without a custom view, the button produced will have a bordered style.
199 /// Defaults to NO.
200 #[unsafe(method(isBordered))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn isBordered(&self) -> bool;
203
204 /// Setter for [`isBordered`][Self::isBordered].
205 #[unsafe(method(setBordered:))]
206 #[unsafe(method_family = none)]
207 pub unsafe fn setBordered(&self, bordered: bool);
208
209 /// Whether or not the item behaves as a navigation item (i.e. back/forward) in the toolbar.
210 /// Navigation items may be specially positioned by the system outside the normal list of items of the toolbar in the order specified by `-toolbarDefaultItemIdentifiers:`.
211 /// Defaults to NO.
212 #[unsafe(method(isNavigational))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn isNavigational(&self) -> bool;
215
216 /// Setter for [`isNavigational`][Self::isNavigational].
217 #[unsafe(method(setNavigational:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn setNavigational(&self, navigational: bool);
220
221 #[cfg(all(feature = "NSResponder", feature = "NSView"))]
222 /// Items with automatically generated views will return nil from this getter.
223 /// Custom views may be provided but not all `NSToolbarItem` subclasses support custom views.
224 /// Note that, by default, many of the set/get methods will be implemented by calls forwarded to the view you set, if it responds to it.
225 #[unsafe(method(view))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn view(&self) -> Option<Retained<NSView>>;
228
229 #[cfg(all(feature = "NSResponder", feature = "NSView"))]
230 /// Setter for [`view`][Self::view].
231 #[unsafe(method(setView:))]
232 #[unsafe(method_family = none)]
233 pub unsafe fn setView(&self, view: Option<&NSView>);
234
235 /// An item is visible if it is present in the NSToolbar and not in the overflow menu.
236 /// This property is key value observable.
237 #[unsafe(method(isVisible))]
238 #[unsafe(method_family = none)]
239 pub unsafe fn isVisible(&self) -> bool;
240
241 /// When an item is hidden it will not be visible in the toolbar. The item will still be visible in the customization panel. Because hidden items may be visible during user customization, use the `visible` property to determine if an item is currently displayed. Note that even hidden toolbar items are sync'd to other toolbars with a shared identifier, but its `hidden` state can be unique to each instance. Use this property to show a toolbar item in one toolbar instance but not another.
242 #[unsafe(method(isHidden))]
243 #[unsafe(method_family = none)]
244 pub unsafe fn isHidden(&self) -> bool;
245
246 /// Setter for [`isHidden`][Self::isHidden].
247 #[unsafe(method(setHidden:))]
248 #[unsafe(method_family = none)]
249 pub unsafe fn setHidden(&self, hidden: bool);
250
251 /// Unless you have already set your own custom view, you should not call these methods.
252 /// The min size should be small enough to look nice in all display modes.
253 /// If you do not set a min/max size, the view's size properties will be calculated using constraints. Apps linked before 10.14 will use the view's current size.
254 /// In general, apps should rely on the automatic measurements and constraints to define min/max sizes rather than setting these properties since this will account for localizations.
255 #[deprecated = "This property is no longer recommended. Instead, let the system automatically measure the size of the view using constraints."]
256 #[unsafe(method(minSize))]
257 #[unsafe(method_family = none)]
258 pub unsafe fn minSize(&self) -> NSSize;
259
260 /// Setter for [`minSize`][Self::minSize].
261 #[deprecated = "This property is no longer recommended. Instead, let the system automatically measure the size of the view using constraints."]
262 #[unsafe(method(setMinSize:))]
263 #[unsafe(method_family = none)]
264 pub unsafe fn setMinSize(&self, min_size: NSSize);
265
266 #[deprecated = "This property is no longer recommended. Instead, let the system automatically measure the size of the view using constraints."]
267 #[unsafe(method(maxSize))]
268 #[unsafe(method_family = none)]
269 pub unsafe fn maxSize(&self) -> NSSize;
270
271 /// Setter for [`maxSize`][Self::maxSize].
272 #[deprecated = "This property is no longer recommended. Instead, let the system automatically measure the size of the view using constraints."]
273 #[unsafe(method(setMaxSize:))]
274 #[unsafe(method_family = none)]
275 pub unsafe fn setMaxSize(&self, max_size: NSSize);
276
277 /// When a toolbar does not have enough space to fit all its items, it must push some into the overflow menu.
278 /// Items with the highest `visibilityPriority` level are chosen last for the overflow menu.
279 /// The default `visibilityPriority` value is `NSToolbarItemVisibilityPriorityStandard`.
280 /// To suggest that an item always remain visible, give it a value greater than `NSToolbarItemVisibilityPriorityStandard`, but less than `NSToolbarItemVisibilityPriorityUser`.
281 /// In 10.7, users can no longer modify the toolbar item visibility priority.
282 #[unsafe(method(visibilityPriority))]
283 #[unsafe(method_family = none)]
284 pub unsafe fn visibilityPriority(&self) -> NSToolbarItemVisibilityPriority;
285
286 /// Setter for [`visibilityPriority`][Self::visibilityPriority].
287 #[unsafe(method(setVisibilityPriority:))]
288 #[unsafe(method_family = none)]
289 pub unsafe fn setVisibilityPriority(
290 &self,
291 visibility_priority: NSToolbarItemVisibilityPriority,
292 );
293
294 /// Typically you should not invoke this method.
295 /// This method is called by its toolbar during validation.
296 /// Standard items validate themselves by sending the `-validateToolbarItem:` validate message to the current validator.
297 /// Since items with custom views don't always have meaningful target/actions, they do nothing.
298 /// So for your custom items it may be useful to override this method and invent your own validation.
299 #[unsafe(method(validate))]
300 #[unsafe(method_family = none)]
301 pub unsafe fn validate(&self);
302
303 /// This property only affects automatic validation performed by NSToolbar.
304 /// Explicit validation requests, such as the `-[NSToolbar validateVisibleItems]` method, will invoke the `-validate` method even if `autovalidates` is `NO`.
305 /// Defaults to YES.
306 #[unsafe(method(autovalidates))]
307 #[unsafe(method_family = none)]
308 pub unsafe fn autovalidates(&self) -> bool;
309
310 /// Setter for [`autovalidates`][Self::autovalidates].
311 #[unsafe(method(setAutovalidates:))]
312 #[unsafe(method_family = none)]
313 pub unsafe fn setAutovalidates(&self, autovalidates: bool);
314
315 /// Duplicate items outside of spaces are not allowed.
316 #[deprecated = "Duplicates are no longer supported."]
317 #[unsafe(method(allowsDuplicatesInToolbar))]
318 #[unsafe(method_family = none)]
319 pub unsafe fn allowsDuplicatesInToolbar(&self) -> bool;
320 );
321}
322
323/// Methods declared on superclass `NSObject`.
324impl NSToolbarItem {
325 extern_methods!(
326 #[unsafe(method(init))]
327 #[unsafe(method_family = init)]
328 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
329
330 #[unsafe(method(new))]
331 #[unsafe(method_family = new)]
332 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
333 );
334}
335
336impl NSToolbarItem {
337 extern_methods!();
338}
339
340#[cfg(feature = "NSMenu")]
341unsafe impl NSMenuItemValidation for NSToolbarItem {}
342
343#[cfg(feature = "NSUserInterfaceValidation")]
344unsafe impl NSValidatedUserInterfaceItem for NSToolbarItem {}
345
346extern_protocol!(
347 /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbaritemvalidation?language=objc)
348 pub unsafe trait NSToolbarItemValidation: NSObjectProtocol + MainThreadOnly {
349 /// `NSToolbarItemValidation` extends the standard validation idea by introducing this new method which is sent to validators for each visible standard `NSToolbarItem` with a valid target/action pair.
350 /// Note: This message is sent from NSToolbarItem's validate method, however validate will not send this message for items that have custom views.
351 #[unsafe(method(validateToolbarItem:))]
352 #[unsafe(method_family = none)]
353 unsafe fn validateToolbarItem(&self, item: &NSToolbarItem) -> bool;
354 }
355);
356
357extern_protocol!(
358 /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscloudsharingvalidation?language=objc)
359 pub unsafe trait NSCloudSharingValidation: NSObjectProtocol + MainThreadOnly {
360 #[cfg(all(feature = "NSUserInterfaceValidation", feature = "objc2-cloud-kit"))]
361 #[cfg(target_vendor = "apple")]
362 /// `NSToolbarItems` created with `NSToolbarCloudSharingItemIdentifier` use this method for further validation after sending `-validateToolbarItem:` or `-validateUserInterfaceItem:`.
363 /// The validator for the item's action should return the current CKShare corresponding to the selected item, if any.
364 /// The state of the item will be changed reflect the state of the CKShare.
365 #[unsafe(method(cloudShareForUserInterfaceItem:))]
366 #[unsafe(method_family = none)]
367 unsafe fn cloudShareForUserInterfaceItem(
368 &self,
369 item: &ProtocolObject<dyn NSValidatedUserInterfaceItem>,
370 ) -> Option<Retained<CKShare>>;
371 }
372);
373
374extern "C" {
375 /// A space item of a standard fixed size.
376 ///
377 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarspaceitemidentifier?language=objc)
378 #[cfg(feature = "NSToolbar")]
379 pub static NSToolbarSpaceItemIdentifier: &'static NSToolbarItemIdentifier;
380}
381
382extern "C" {
383 /// A space item of flexible width.
384 ///
385 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarflexiblespaceitemidentifier?language=objc)
386 #[cfg(feature = "NSToolbar")]
387 pub static NSToolbarFlexibleSpaceItemIdentifier: &'static NSToolbarItemIdentifier;
388}
389
390extern "C" {
391 /// A standard item that is configured to show the color panel when invoked.
392 ///
393 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarshowcolorsitemidentifier?language=objc)
394 #[cfg(feature = "NSToolbar")]
395 pub static NSToolbarShowColorsItemIdentifier: &'static NSToolbarItemIdentifier;
396}
397
398extern "C" {
399 /// A standard item that is configured to show the font panel when invoked.
400 ///
401 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarshowfontsitemidentifier?language=objc)
402 #[cfg(feature = "NSToolbar")]
403 pub static NSToolbarShowFontsItemIdentifier: &'static NSToolbarItemIdentifier;
404}
405
406extern "C" {
407 /// A standard item that is configured to send -printDocument: to the firstResponder when invoked
408 ///
409 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarprintitemidentifier?language=objc)
410 #[cfg(feature = "NSToolbar")]
411 pub static NSToolbarPrintItemIdentifier: &'static NSToolbarItemIdentifier;
412}
413
414extern "C" {
415 /// A standard item that is configured to send -toggleSidebar: to the firstResponder when invoked.
416 ///
417 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbartogglesidebaritemidentifier?language=objc)
418 #[cfg(feature = "NSToolbar")]
419 pub static NSToolbarToggleSidebarItemIdentifier: &'static NSToolbarItemIdentifier;
420}
421
422extern "C" {
423 /// A standard item that is configured to send -toggleInspector: to the firstResponder when invoked.
424 ///
425 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbartoggleinspectoritemidentifier?language=objc)
426 #[cfg(feature = "NSToolbar")]
427 pub static NSToolbarToggleInspectorItemIdentifier: &'static NSToolbarItemIdentifier;
428}
429
430extern "C" {
431 /// A standard item for cloud sharing via NSSharingServiceNameCloudSharing. It validates itself and modifies its appearance by using the NSCloudSharingValidation protocol. It sends -performCloudSharing: to the firstResponder.
432 ///
433 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarcloudsharingitemidentifier?language=objc)
434 #[cfg(feature = "NSToolbar")]
435 pub static NSToolbarCloudSharingItemIdentifier: &'static NSToolbarItemIdentifier;
436}
437
438extern "C" {
439 /// A standard item that is configured to send -showWritingTools: to the firstResponder when invoked.
440 ///
441 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarwritingtoolsitemidentifier?language=objc)
442 #[cfg(feature = "NSToolbar")]
443 pub static NSToolbarWritingToolsItemIdentifier: &'static NSToolbarItemIdentifier;
444}
445
446extern "C" {
447 /// Creates a new NSTrackingSeparatorToolbarItem and automatically configures it to track the divider of the sidebar if one is discovered.
448 /// Only applies to windows with `NSWindowStyleMaskFullSizeContentView` applied.
449 ///
450 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarsidebartrackingseparatoritemidentifier?language=objc)
451 #[cfg(feature = "NSToolbar")]
452 pub static NSToolbarSidebarTrackingSeparatorItemIdentifier: &'static NSToolbarItemIdentifier;
453}
454
455extern "C" {
456 /// Creates a new NSTrackingSeparatorToolbarItem and automatically configures it to track the divider of the inspector if one is discovered.
457 /// Only applies to windows with `NSWindowStyleMaskFullSizeContentView` applied.
458 ///
459 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarinspectortrackingseparatoritemidentifier?language=objc)
460 #[cfg(feature = "NSToolbar")]
461 pub static NSToolbarInspectorTrackingSeparatorItemIdentifier: &'static NSToolbarItemIdentifier;
462}
463
464extern "C" {
465 /// Deprecated Item Identifiers
466 ///
467 /// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarseparatoritemidentifier?language=objc)
468 #[cfg(feature = "NSToolbar")]
469 pub static NSToolbarSeparatorItemIdentifier: &'static NSToolbarItemIdentifier;
470}
471
472extern "C" {
473 /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstoolbarcustomizetoolbaritemidentifier?language=objc)
474 #[cfg(feature = "NSToolbar")]
475 pub static NSToolbarCustomizeToolbarItemIdentifier: &'static NSToolbarItemIdentifier;
476}