]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/UserNotification/KUNCUserNotifications.h
xnu-7195.101.1.tar.gz
[apple/xnu.git] / osfmk / UserNotification / KUNCUserNotifications.h
index 0351f1d87feac79772dfc7f6ca2a58e80ea8e951..ea3c50b5557e6683df44f31879da1ba9400ba4fa 100644 (file)
@@ -1,23 +1,29 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
  *
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
  *
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 
 #ifndef __USERNOTIFICATION_KUNCUSERNOTIFICATIONS_H
@@ -37,14 +43,14 @@ __BEGIN_DECLS
  */
 kern_return_t
 KUNCUserNotificationDisplayNotice(
-       int             timeout,
-       unsigned        flags,
-       char            *iconPath,
-       char            *soundPath,
-       char            *localizationPath,
-       char            *alertHeader,
-       char            *alertMessage,
-       char            *defaultButtonTitle);
+       int             noticeTimeout,
+       unsigned        flags,
+       char            *iconPath,
+       char            *soundPath,
+       char            *localizationPath,
+       char            *alertHeader,
+       char            *alertMessage,
+       char            *defaultButtonTitle) __attribute__((deprecated));
 
 /*
  * ***BLOCKING*** alert call, returned int value corresponds to the
@@ -52,35 +58,36 @@ KUNCUserNotificationDisplayNotice(
  */
 kern_return_t
 KUNCUserNotificationDisplayAlert(
-       int             timeout,
-       unsigned        flags,
-       char            *iconPath,
-       char            *soundPath,
-       char            *localizationPath,
-       char            *alertHeader,
-       char            *alertMessage,
-       char            *defaultButtonTitle,
-       char            *alternateButtonTitle,
-       char            *otherButtonTitle,
-       unsigned        *responseFlags);
+       int             alertTimeout,
+       unsigned        flags,
+       char            *iconPath,
+       char            *soundPath,
+       char            *localizationPath,
+       char            *alertHeader,
+       char            *alertMessage,
+       char            *defaultButtonTitle,
+       char            *alternateButtonTitle,
+       char            *otherButtonTitle,
+       unsigned        *responseFlags) __attribute__((deprecated));
+
 
 /*
  * Execute a userland executable with the given path, user and type
  */
-#define kOpenApplicationPath   0       /* essentially executes the path */
-#define kOpenPreferencePanel    1      /* runs the preferences with the foo.preference opened.  foo.preference must exist in /System/Library/Preferences */
-#define kOpenApplication       2       /* essentially runs /usr/bin/open on the passed in application name */
-#define kOpenAppAsRoot         0
-#define kOpenAppAsConsoleUser  
+
+#define kOpenApplicationPath    0       /* essentially executes the path */
+#define kOpenPreferencePanel    1       /* runs the preferences with the foo.preference opened.  foo.preference must exist in /System/Library/Preferences */
+#define kOpenApplication        2       /* essentially runs /usr/bin/open on the passed in application name */
+
+
+#define kOpenAppAsRoot          0
+#define kOpenAppAsConsoleUser   1
+
 kern_return_t
 KUNCExecute(
-       char    *executionPath,
-       int     openAsUser,
-       int     pathExecutionType);
+       char    *executionPath,
+       int     openAsUser,
+       int     pathExecutionType) __attribute__((deprecated));
 
 
 /* KUNC User Notification XML Keys
@@ -94,32 +101,60 @@ KUNCExecute(
  *
  *  Key                        Type
  * Header                      string (header displayed on dialog)
+ *                              corresponds to kCFUserNotificationAlertHeaderKey
+ *
  * Icon URL                    string (url of the icon to display)
+ *                              corresponds to kCFUserNotificationIconURLKey
+ *
  * Sound URL                   string (url of the sound to play on display)
+ *                              corresponds to kCFUserNotificationSoundURLKey
+ *
  * Localization URL            string (url of bundle to retrieve localization
  *                             info from, using Localizable.strings files)
+ *                              corresponds to kCFUserNotificationLocalizationURLKey
+ *
  * Message                     string (text of the message, can contain %@'s
- *                             which are filled from tokenString passed in) 
- * OK Button Title             string (title of the "main" button)
- * Alternate Button Title      string (title of the "alternate" button -
- *                             usually cancel)
- * Other Button Title          string (title of the "other" button)
+ *                             which are filled from tokenString passed in)
+ *                              corresponds to kCFUserNotificationAlertMessageKey
+ *
+ * OK Button Title              string (title of the "main" button)
+ *                              corresponds to kCFUserNotificationDefaultButtonTitleKey
+ *
+ * Alternate Button Title       string (title of the "alternate" button,  usually cancel)
+ *                              corresponds to kCFUserNotificationAlternateButtonTitleKey
+ *
+ * Other Button Title          string (title of the "other" button)
+ *                              corresponds to kCFUserNotificationOtherButtonTitleKey
+ *
  * Timeout                     string (numeric, int - seconds until the dialog
  *                             goes away on it's own)
- * Alert Level                 string (Stop, Notice, Alert, 
+ *
+ * Alert Level                 string (Stop, Notice, Alert)
+ *
  * Blocking Message            string (numeric, 1 or 0 - if 1, the dialog will
  *                             have no buttons)
+ *
  * Text Field Strings          array of strings (each becomes a text field)
+ *                              corresponds to kCFUserNotificationTextFieldTitlesKey
+ *
  * Password Fields             array of strings (numeric - each indicates a
  *                             pwd field)
+ *
  * Popup Button Strings                array of strings (each entry becomes a popup
  *                             button string)
+ *
  * Radio Button Strings                array of strings (each becomes a radio button)
+ *
  * Check Box Strings           array of strings (each becomes a check box)
+ *                              corresponds to kCFUserNotificationCheckBoxTitlesKey
+ *
  * Selected Radio              string (numeric - which radio is selected)
+ *
  * Checked Boxes               array of strings (numeric - each indicates a
  *                             checked field)
+ *
  * Selected Popup              string (numeric - which popup entry is selected)
+ *
  */
 
 /*
@@ -134,7 +169,7 @@ KUNCExecute(
  *             This WILL change soon to expect the CFBundleIdentifier instead of a bundle path
  *     fileName
  *             filename in bundle to retrive the xml from (i.e. "Messages")
- *     fileExtension 
+ *     fileExtension
  *             if fileName has an extension, it goes here (i.e., "dict");
  *     messageKey
  *             name of the xml key in the dictionary in the file to retrieve
@@ -150,7 +185,7 @@ KUNCExecute(
  *             back to the client in the callback pararmeter contextKey
  */
 
-typedef int KUNCUserNotificationID;
+typedef uintptr_t KUNCUserNotificationID;
 
 /*
  * Reponse value checking & default setting
@@ -161,47 +196,46 @@ typedef int KUNCUserNotificationID;
  */
 
 enum {
-    kKUNCDefaultResponse       = 0,
-    kKUNCAlternateResponse     = 1,
-    kKUNCOtherResponse         = 2,
-    kKUNCCancelResponse                = 3
+       kKUNCDefaultResponse        = 0,
+       kKUNCAlternateResponse      = 1,
+       kKUNCOtherResponse          = 2,
+       kKUNCCancelResponse         = 3
 };
 
-#define KUNCCheckBoxChecked(i) (1 << (8 + i))   /* can be used for radio's too */
-#define KUNCPopUpSelection(n)  (n << 24)
+#define KUNCCheckBoxChecked(i)  (1 << (8 + i))   /* can be used for radio's too */
+#define KUNCPopUpSelection(n)   (n << 24)
 
 /*
  * Callback function for KUNCNotifications
  */
 typedef void
 (*KUNCUserNotificationCallBack)(
-       int     contextKey,
-       int     responseFlags,
-       void    *xmlData);
+       int             contextKey,
+       int             responseFlags,
+       const void      *xmlData);
 
 /*
  * Get a notification ID
  */
-KUNCUserNotificationID KUNCGetNotificationID();
-
+KUNCUserNotificationID KUNCGetNotificationID(void) __attribute__((deprecated));
 
 /* This function currently requires a bundle path, which kexts cannot currently get.  In the future, the CFBundleIdentiofier of the kext will be pass in in place of the bundlePath. */
 
 kern_return_t
 KUNCUserNotificationDisplayFromBundle(
-       KUNCUserNotificationID          notificationID,
-       char                            *bundleIdentifier,
-       char                            *fileName,
-       char                            *fileExtension,
-       char                            *messageKey,
-       char                            *tokenString,
-       KUNCUserNotificationCallBack    callback,
-       int                             contextKey);
+       KUNCUserNotificationID          notificationID,
+       char                            *bundleIdentifier,
+       char                            *fileName,
+       char                            *fileExtension,
+       char                            *messageKey,
+       char                            *tokenString,
+       KUNCUserNotificationCallBack    callback,
+       int                             contextKey) __attribute__((deprecated));
 
 
 kern_return_t
 KUNCUserNotificationCancel(
-       KUNCUserNotificationID  notification);
+       KUNCUserNotificationID  notification) __attribute__((deprecated));
 
 
 __END_DECLS