/* UNCUserNotification.h Copyright 2000, Apple Computer, Inc. All rights reserved. */ #ifndef _UNCUSERNOTIFICATION_H_ #define _UNCUSERNOTIFICATION_H_ typedef struct __UNCUserNotification *UNCUserNotificationRef; /* Create and dispatch a notification, providing contents as a null-terminated list of key-value pairs */ extern UNCUserNotificationRef UNCUserNotificationCreate(double timeout, unsigned flags, int *error, const char **contents); /* Wait for a response */ extern int UNCUserNotificationReceiveResponse(UNCUserNotificationRef userNotification, double timeout, unsigned *responseFlags); /* Retrieve contents (if any) from the response */ extern const char *UNCUserNotificationGetResponseValue(UNCUserNotificationRef userNotification, const char *key, unsigned index); /* Retrieve all response contents as a null-terminated list of key-value pairs */ extern const char **UNCUserNotificationGetResponseContents(UNCUserNotificationRef userNotification); /* Update the values associated with a notification */ extern int UNCUserNotificationUpdate(UNCUserNotificationRef userNotification, double timeout, unsigned flags, const char **contents); /* Cancel a notification */ extern int UNCUserNotificationCancel(UNCUserNotificationRef userNotification); /* Free the storage associated with a notification */ extern void UNCUserNotificationFree(UNCUserNotificationRef userNotification); /* Convenience APIs for the simplest cases */ extern int UNCDisplayNotice(double timeout, unsigned flags, const char *iconPath, const char *soundPath, const char *localizationPath, const char *alertHeader, const char *alertMessage, const char *defaultButtonTitle); extern int UNCDisplayAlert(double timeout, unsigned flags, const char *iconPath, const char *soundPath, const char *localizationPath, const char *alertHeader, const char *alertMessage, const char *defaultButtonTitle, const char *alternateButtonTitle, const char *otherButtonTitle, unsigned *responseFlags); /* Flags */ enum { kUNCStopAlertLevel = 0, kUNCNoteAlertLevel = 1, kUNCCautionAlertLevel = 2, kUNCPlainAlertLevel = 3 }; enum { kUNCDefaultResponse = 0, kUNCAlternateResponse = 1, kUNCOtherResponse = 2, kUNCCancelResponse = 3 }; enum { kUNCNoDefaultButtonFlag = (1 << 5), kUNCUseRadioButtonsFlag = (1 << 6) }; #define UNCCheckBoxChecked(i) (1 << (8 + i)) #define UNCSecureTextField(i) (1 << (16 + i)) #define UNCPopUpSelection(n) (n << 24) /* Keys to be used in message contents */ /* - keys to be used at most once */ extern const char kUNCIconPathKey[]; extern const char kUNCSoundPathKey[]; extern const char kUNCLocalizationPathKey[]; extern const char kUNCAlertHeaderKey[]; extern const char kUNCDefaultButtonTitleKey[]; extern const char kUNCAlternateButtonTitleKey[]; extern const char kUNCOtherButtonTitleKey[]; extern const char kUNCProgressIndicatorValueKey[]; /* - keys that may be used more than once in a row */ extern const char kUNCAlertMessageKey[]; extern const char kUNCPopUpTitlesKey[]; extern const char kUNCTextFieldTitlesKey[]; extern const char kUNCCheckBoxTitlesKey[]; extern const char kUNCTextFieldValuesKey[]; #endif /* _UNCUSERNOTIFICATION_H_ */