From 59390939a564facea3dc14163935c9da3f96e809 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sat, 6 Feb 2010 19:22:37 +0000 Subject: [PATCH] add Growl 1.2.1 --- .../Growl.framework.dSYM/Contents/Info.plist | 20 + .../Contents/Resources/DWARF/Growl | Bin 0 -> 328132 bytes macosx/Growl.Framework/Growl.framework/Growl | 1 + .../Growl.Framework/Growl.framework/Headers | 1 + .../Growl.Framework/Growl.framework/Resources | 1 + .../Growl.framework/Versions/A/Growl | Bin 0 -> 259256 bytes .../Versions/A/Headers/Growl.h | 6 + .../A/Headers/GrowlApplicationBridge-Carbon.h | 780 ++++++++++++++++++ .../A/Headers/GrowlApplicationBridge.h | 575 +++++++++++++ .../Versions/A/Headers/GrowlDefines.h | 348 ++++++++ .../Versions/A/Resources/Info.plist | 24 + .../Growl.framework/Versions/Current | 1 + macosx/Growl.Framework/License.txt | 15 + 13 files changed, 1772 insertions(+) create mode 100644 macosx/Growl.Framework/Growl.framework.dSYM/Contents/Info.plist create mode 100644 macosx/Growl.Framework/Growl.framework.dSYM/Contents/Resources/DWARF/Growl create mode 120000 macosx/Growl.Framework/Growl.framework/Growl create mode 120000 macosx/Growl.Framework/Growl.framework/Headers create mode 120000 macosx/Growl.Framework/Growl.framework/Resources create mode 100755 macosx/Growl.Framework/Growl.framework/Versions/A/Growl create mode 100644 macosx/Growl.Framework/Growl.framework/Versions/A/Headers/Growl.h create mode 100644 macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlApplicationBridge-Carbon.h create mode 100644 macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h create mode 100644 macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlDefines.h create mode 100644 macosx/Growl.Framework/Growl.framework/Versions/A/Resources/Info.plist create mode 120000 macosx/Growl.Framework/Growl.framework/Versions/Current create mode 100644 macosx/Growl.Framework/License.txt diff --git a/macosx/Growl.Framework/Growl.framework.dSYM/Contents/Info.plist b/macosx/Growl.Framework/Growl.framework.dSYM/Contents/Info.plist new file mode 100644 index 000000000..f4b304b0d --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.com.growl.growlframework + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.2.1 + CFBundleVersion + 1.2.1 + + diff --git a/macosx/Growl.Framework/Growl.framework.dSYM/Contents/Resources/DWARF/Growl b/macosx/Growl.Framework/Growl.framework.dSYM/Contents/Resources/DWARF/Growl new file mode 100644 index 0000000000000000000000000000000000000000..af2d1a20b7949c5aefd15fd63a8a53e20b1fed0c GIT binary patch literal 328132 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 literal 0 HcmV?d00001 diff --git a/macosx/Growl.Framework/Growl.framework/Growl b/macosx/Growl.Framework/Growl.framework/Growl new file mode 120000 index 000000000..85956e2d2 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Growl @@ -0,0 +1 @@ +Versions/Current/Growl \ No newline at end of file diff --git a/macosx/Growl.Framework/Growl.framework/Headers b/macosx/Growl.Framework/Growl.framework/Headers new file mode 120000 index 000000000..a177d2a6b --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/macosx/Growl.Framework/Growl.framework/Resources b/macosx/Growl.Framework/Growl.framework/Resources new file mode 120000 index 000000000..953ee36f3 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/macosx/Growl.Framework/Growl.framework/Versions/A/Growl b/macosx/Growl.Framework/Growl.framework/Versions/A/Growl new file mode 100755 index 0000000000000000000000000000000000000000..eb63866a27fd6444b30ce8fa22459aa9ed45d846 GIT binary patch literal 259256 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 +#include + +#ifndef GROWL_EXPORT +#define GROWL_EXPORT __attribute__((visibility("default"))) DEPRECATED_ATTRIBUTE +#endif + +/*! @header GrowlApplicationBridge-Carbon.h + * @abstract Declares an API that Carbon applications can use to interact with Growl. + * @discussion GrowlApplicationBridge uses a delegate to provide information //XXX + * to Growl (such as your application's name and what notifications it may + * post) and to provide information to your application (such as that Growl + * is listening for notifications or that a notification has been clicked). + * + * You can set the Growldelegate with Growl_SetDelegate and find out the + * current delegate with Growl_GetDelegate. See struct Growl_Delegate for more + * information about the delegate. + */ + +__BEGIN_DECLS + +/*! @struct Growl_Delegate + * @abstract Delegate to supply GrowlApplicationBridge with information and respond to events. + * @discussion The Growl delegate provides your interface to + * GrowlApplicationBridge. When GrowlApplicationBridge needs information about + * your application, it looks for it in the delegate; when Growl or the user + * does something that you might be interested in, GrowlApplicationBridge + * looks for a callback in the delegate and calls it if present + * (meaning, if it is not NULL). + * XXX on all of that + * @field size The size of the delegate structure. + * @field applicationName The name of your application. + * @field registrationDictionary A dictionary describing your application and the notifications it can send out. + * @field applicationIconData Your application's icon. + * @field growlInstallationWindowTitle The title of the installation window. + * @field growlInstallationInformation Text to display in the installation window. + * @field growlUpdateWindowTitle The title of the update window. + * @field growlUpdateInformation Text to display in the update window. + * @field referenceCount A count of owners of the delegate. + * @field retain Called when GrowlApplicationBridge receives this delegate. + * @field release Called when GrowlApplicationBridge no longer needs this delegate. + * @field growlIsReady Called when GrowlHelperApp is listening for notifications. + * @field growlNotificationWasClicked Called when a Growl notification is clicked. + * @field growlNotificationTimedOut Called when a Growl notification timed out. + */ +struct Growl_Delegate { + /* @discussion This should be sizeof(struct Growl_Delegate). + */ + size_t size; + + /*All of these attributes are optional. + *Optional attributes can be NULL; required attributes that + * are NULL cause setting the Growl delegate to fail. + *XXX - move optional/required status into the discussion for each field + */ + + /* This name is used both internally and in the Growl preferences. + * + * This should remain stable between different versions and incarnations of + * your application. + * For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and + * "SurfWriter Lite" are not. + * + * This can be NULL if it is provided elsewhere, namely in an + * auto-discoverable plist file in your app bundle + * (XXX refer to more information on that) or in registrationDictionary. + */ + CFStringRef applicationName; + + /* + * Must contain at least these keys: + * GROWL_NOTIFICATIONS_ALL (CFArray): + * Contains the names of all notifications your application may post. + * + * Can also contain these keys: + * GROWL_NOTIFICATIONS_DEFAULT (CFArray): + * Names of notifications that should be enabled by default. + * If omitted, GROWL_NOTIFICATIONS_ALL will be used. + * GROWL_APP_NAME (CFString): + * Same as the applicationName member of this structure. + * If both are present, the applicationName member shall prevail. + * If this key is present, you may omit applicationName (set it to NULL). + * GROWL_APP_ICON (CFData): + * Same as the iconData member of this structure. + * If both are present, the iconData member shall prevail. + * If this key is present, you may omit iconData (set it to NULL). + * + * If you change the contents of this dictionary after setting the delegate, + * be sure to call Growl_Reregister. + * + * This can be NULL if you have an auto-discoverable plist file in your app + * bundle. (XXX refer to more information on that) + */ + CFDictionaryRef registrationDictionary; + + /* The data can be in any format supported by NSImage. As of + * Mac OS X 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and + * PICT formats. + * + * If this is not supplied, Growl will look up your application's icon by + * its application name. + */ + CFDataRef applicationIconData; + + /* Installer display attributes + * + * These four attributes are used by the Growl installer, if this framework + * supports it. + * For any of these being NULL, a localised default will be + * supplied. + */ + + /* If this is NULL, Growl will use a default, + * localized title. + * + * Only used if you're using Growl-WithInstaller.framework. Otherwise, + * this member is ignored. + */ + CFStringRef growlInstallationWindowTitle; + /* This information may be as long or short as desired (the + * window will be sized to fit it). If Growl is not installed, it will + * be displayed to the user as an explanation of what Growl is and what + * it can do in your application. + * It should probably note that no download is required to install. + * + * If this is NULL, Growl will use a default, localized + * explanation. + * + * Only used if you're using Growl-WithInstaller.framework. Otherwise, + * this member is ignored. + */ + CFStringRef growlInstallationInformation; + /* If this is NULL, Growl will use a default, + * localized title. + * + * Only used if you're using Growl-WithInstaller.framework. Otherwise, + * this member is ignored. + */ + CFStringRef growlUpdateWindowTitle; + /* This information may be as long or short as desired (the + * window will be sized to fit it). If an older version of Growl is + * installed, it will be displayed to the user as an explanation that an + * updated version of Growl is included in your application and + * no download is required. + * + * If this is NULL, Growl will use a default, localized + * explanation. + * + * Only used if you're using Growl-WithInstaller.framework. Otherwise, + * this member is ignored. + */ + CFStringRef growlUpdateInformation; + + /* This member is provided for use by your retain and release + * callbacks (see below). + * + * GrowlApplicationBridge never directly uses this member. Instead, it + * calls your retain callback (if non-NULL) and your release + * callback (if non-NULL). + */ + unsigned referenceCount; + + //Functions. Currently all of these are optional (any of them can be NULL). + + /* When you call Growl_SetDelegate(newDelegate), it will call + * oldDelegate->release(oldDelegate), and then it will call + * newDelegate->retain(newDelegate), and the return value from retain + * is what will be set as the delegate. + * (This means that this member works like CFRetain and -[NSObject retain].) + * This member is optional (it can be NULL). + * For a delegate allocated with malloc, this member would be + * NULL. + * @result A delegate to which GrowlApplicationBridge holds a reference. + */ + void *(*retain)(void *); + /* When you call Growl_SetDelegate(newDelegate), it will call + * oldDelegate->release(oldDelegate), and then it will call + * newDelegate->retain(newDelegate), and the return value from retain + * is what will be set as the delegate. + * (This means that this member works like CFRelease and + * -[NSObject release].) + * This member is optional (it can be NULL). + * For a delegate allocated with malloc, this member might be + * free(3). + */ + void (*release)(void *); + + /* Informs the delegate that Growl (specifically, the GrowlHelperApp) was + * launched successfully (or was already running). The application can + * take actions with the knowledge that Growl is installed and functional. + */ + void (*growlIsReady)(void); + + /* Informs the delegate that a Growl notification was clicked. It is only + * sent for notifications sent with a non-NULL clickContext, + * so if you want to receive a message when a notification is clicked, + * clickContext must not be NULL when calling + * Growl_PostNotification or + * Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext. + */ + void (*growlNotificationWasClicked)(CFPropertyListRef clickContext); + + /* Informs the delegate that a Growl notification timed out. It is only + * sent for notifications sent with a non-NULL clickContext, + * so if you want to receive a message when a notification is clicked, + * clickContext must not be NULL when calling + * Growl_PostNotification or + * Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext. + */ + void (*growlNotificationTimedOut)(CFPropertyListRef clickContext); +}; + +/*! @struct Growl_Notification + * @abstract Structure describing a Growl notification. + * @discussion XXX + * @field size The size of the notification structure. + * @field name Identifies the notification. + * @field title Short synopsis of the notification. + * @field description Additional text. + * @field iconData An icon for the notification. + * @field priority An indicator of the notification's importance. + * @field reserved Bits reserved for future usage. + * @field isSticky Requests that a notification stay on-screen until dismissed explicitly. + * @field clickContext An identifier to be passed to your click callback when a notification is clicked. + * @field clickCallback A callback to call when the notification is clicked. + */ +struct Growl_Notification { + /* This should be sizeof(struct Growl_Notification). + */ + size_t size; + + /* The notification name distinguishes one type of + * notification from another. The name should be human-readable, as it + * will be displayed in the Growl preference pane. + * + * The name is used in the GROWL_NOTIFICATIONS_ALL and + * GROWL_NOTIFICATIONS_DEFAULT arrays in the registration dictionary, and + * in this member of the Growl_Notification structure. + */ + CFStringRef name; + + /* A notification's title describes the notification briefly. + * It should be easy to read quickly by the user. + */ + CFStringRef title; + + /* The description supplements the title with more + * information. It is usually longer and sometimes involves a list of + * subjects. For example, for a 'Download complete' notification, the + * description might have one filename per line. GrowlMail in Growl 0.6 + * uses a description of '%d new mail(s)' (formatted with the number of + * messages). + */ + CFStringRef description; + + /* The notification icon usually indicates either what + * happened (it may have the same icon as e.g. a toolbar item that + * started the process that led to the notification), or what it happened + * to (e.g. a document icon). + * + * The icon data is optional, so it can be NULL. In that + * case, the application icon is used alone. Not all displays support + * icons. + * + * The data can be in any format supported by NSImage. As of Mac OS X + * 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT form + * ats. + */ + CFDataRef iconData; + + /* Priority is new in Growl 0.6, and is represented as a + * signed integer from -2 to +2. 0 is Normal priority, -2 is Very Low + * priority, and +2 is Very High priority. + * + * Not all displays support priority. If you do not wish to assign a + * priority to your notification, assign 0. + */ + signed int priority; + + /* These bits are not used in Growl 0.6. Set them to 0. + */ + unsigned reserved: 31; + + /* When the sticky bit is clear, in most displays, + * notifications disappear after a certain amount of time. Sticky + * notifications, however, remain on-screen until the user dismisses them + * explicitly, usually by clicking them. + * + * Sticky notifications were introduced in Growl 0.6. Most notifications + * should not be sticky. Not all displays support sticky notifications, + * and the user may choose in Growl's preference pane to force the + * notification to be sticky or non-sticky, in which case the sticky bit + * in the notification will be ignored. + */ + unsigned isSticky: 1; + + /* If this is not NULL, and your click callback + * is not NULL either, this will be passed to the callback + * when your notification is clicked by the user. + * + * Click feedback was introduced in Growl 0.6, and it is optional. Not + * all displays support click feedback. + */ + CFPropertyListRef clickContext; + + /* If this is not NULL, it will be called instead + * of the Growl delegate's click callback when clickContext is + * non-NULL and the notification is clicked on by the user. + * + * Click feedback was introduced in Growl 0.6, and it is optional. Not + * all displays support click feedback. + * + * The per-notification click callback is not yet supported as of Growl + * 0.7. + */ + void (*clickCallback)(CFPropertyListRef clickContext); + + CFStringRef identifier; +}; + +#pragma mark - +#pragma mark Easy initialisers + +/*! @defined InitGrowlDelegate + * @abstract Callable macro. Initializes a Growl delegate structure to defaults. + * @discussion Call with a pointer to a struct Growl_Delegate. All of the + * members of the structure will be set to 0 or NULL, except for + * size (which will be set to sizeof(struct Growl_Delegate)) and + * referenceCount (which will be set to 1). + */ +#define InitGrowlDelegate(delegate) \ + do { \ + if (delegate) { \ + (delegate)->size = sizeof(struct Growl_Delegate); \ + (delegate)->applicationName = NULL; \ + (delegate)->registrationDictionary = NULL; \ + (delegate)->applicationIconData = NULL; \ + (delegate)->growlInstallationWindowTitle = NULL; \ + (delegate)->growlInstallationInformation = NULL; \ + (delegate)->growlUpdateWindowTitle = NULL; \ + (delegate)->growlUpdateInformation = NULL; \ + (delegate)->referenceCount = 1U; \ + (delegate)->retain = NULL; \ + (delegate)->release = NULL; \ + (delegate)->growlIsReady = NULL; \ + (delegate)->growlNotificationWasClicked = NULL; \ + (delegate)->growlNotificationTimedOut = NULL; \ + } \ + } while(0) + +/*! @defined InitGrowlNotification + * @abstract Callable macro. Initializes a Growl notification structure to defaults. + * @discussion Call with a pointer to a struct Growl_Notification. All of + * the members of the structure will be set to 0 or NULL, except + * for size (which will be set to + * sizeof(struct Growl_Notification)). + */ +#define InitGrowlNotification(notification) \ + do { \ + if (notification) { \ + (notification)->size = sizeof(struct Growl_Notification); \ + (notification)->name = NULL; \ + (notification)->title = NULL; \ + (notification)->description = NULL; \ + (notification)->iconData = NULL; \ + (notification)->priority = 0; \ + (notification)->reserved = 0U; \ + (notification)->isSticky = false; \ + (notification)->clickContext = NULL; \ + (notification)->clickCallback = NULL; \ + (notification)->identifier = NULL; \ + } \ + } while(0) + +#pragma mark - +#pragma mark Public API + +// @functiongroup Managing the Growl delegate + +/*! @function Growl_SetDelegate + * @abstract Replaces the current Growl delegate with a new one, or removes + * the Growl delegate. + * @param newDelegate + * @result Returns false and does nothing else if a pointer that was passed in + * is unsatisfactory (because it is non-NULL, but at least one + * required member of it is NULL). Otherwise, sets or unsets the + * delegate and returns true. + * @discussion When newDelegate is non-NULL, sets + * the delegate to newDelegate. When it is NULL, + * the current delegate will be unset, and no delegate will be in place. + * + * It is legal for newDelegate to be the current delegate; + * nothing will happen, and Growl_SetDelegate will return true. It is also + * legal for it to be NULL, as described above; again, it will + * return true. + * + * If there was a delegate in place before the call, Growl_SetDelegate will + * call the old delegate's release member if it was non-NULL. If + * newDelegate is non-NULL, Growl_SetDelegate will + * call newDelegate->retain, and set the delegate to its return + * value. + * + * If you are using Growl-WithInstaller.framework, and an older version of + * Growl is installed on the user's system, the user will automatically be + * prompted to update. + * + * GrowlApplicationBridge currently does not copy this structure, nor does it + * retain any of the CF objects in the structure (it regards the structure as + * a container that retains the objects when they are added and releases them + * when they are removed or the structure is destroyed). Also, + * GrowlApplicationBridge currently does not modify any member of the + * structure, except possibly the referenceCount by calling the retain and + * release members. + */ +GROWL_EXPORT Boolean Growl_SetDelegate(struct Growl_Delegate *newDelegate); + +/*! @function Growl_GetDelegate + * @abstract Returns the current Growl delegate, if any. + * @result The current Growl delegate. + * @discussion Returns the last pointer passed into Growl_SetDelegate, or + * NULL if no such call has been made. + * + * This function follows standard Core Foundation reference-counting rules. + * Because it is a Get function, not a Copy function, it will not retain the + * delegate on your behalf. You are responsible for retaining and releasing + * the delegate as needed. + */ +GROWL_EXPORT struct Growl_Delegate *Growl_GetDelegate(void); + +#pragma mark - + +// @functiongroup Posting Growl notifications + +/*! @function Growl_PostNotification + * @abstract Posts a Growl notification. + * @param notification The notification to post. + * @discussion This is the preferred means for sending a Growl notification. + * The notification name and at least one of the title and description are + * required (all three are preferred). All other parameters may be + * NULL (or 0 or false as appropriate) to accept default values. + * + * If using the Growl-WithInstaller framework, if Growl is not installed the + * user will be prompted to install Growl. + * If the user cancels, this function will have no effect until the next + * application session, at which time when it is called the user will be + * prompted again. The user is also given the option to not be prompted again. + * If the user does choose to install Growl, the requested notification will + * be displayed once Growl is installed and running. + */ +GROWL_EXPORT void Growl_PostNotification(const struct Growl_Notification *notification); + +/*! @function Growl_PostNotificationWithDictionary +* @abstract Notifies using a userInfo dictionary suitable for passing to +* CFDistributedNotificationCenter. +* @param userInfo The dictionary to notify with. +* @discussion Before Growl 0.6, your application would have posted +* notifications using CFDistributedNotificationCenter by creating a userInfo +* dictionary with the notification data. This had the advantage of allowing +* you to add other data to the dictionary for programs besides Growl that +* might be listening. +* +* This function allows you to use such dictionaries without being restricted +* to using CFDistributedNotificationCenter. The keys for this dictionary + * can be found in GrowlDefines.h. +*/ +GROWL_EXPORT void Growl_PostNotificationWithDictionary(CFDictionaryRef userInfo); + +/*! @function Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext + * @abstract Posts a Growl notification using parameter values. + * @param title The title of the notification. + * @param description The description of the notification. + * @param notificationName The name of the notification as listed in the + * registration dictionary. + * @param iconData Data representing a notification icon. Can be NULL. + * @param priority The priority of the notification (-2 to +2, with -2 + * being Very Low and +2 being Very High). + * @param isSticky If true, requests that this notification wait for a + * response from the user. + * @param clickContext An object to pass to the clickCallback, if any. Can + * be NULL, in which case the clickCallback is not called. + * @discussion Creates a temporary Growl_Notification, fills it out with the + * supplied information, and calls Growl_PostNotification on it. + * See struct Growl_Notification and Growl_PostNotification for more + * information. + * + * The icon data can be in any format supported by NSImage. As of Mac OS X + * 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT formats. + */ +GROWL_EXPORT void Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext( + /*inhale*/ + CFStringRef title, + CFStringRef description, + CFStringRef notificationName, + CFDataRef iconData, + signed int priority, + Boolean isSticky, + CFPropertyListRef clickContext); + +#pragma mark - + +// @functiongroup Registering + +/*! @function Growl_RegisterWithDictionary + * @abstract Register your application with Growl without setting a delegate. + * @discussion When you call this function with a dictionary, + * GrowlApplicationBridge registers your application using that dictionary. + * If you pass NULL, GrowlApplicationBridge will ask the delegate + * (if there is one) for a dictionary, and if that doesn't work, it will look + * in your application's bundle for an auto-discoverable plist. + * (XXX refer to more information on that) + * + * If you pass a dictionary to this function, it must include the + * GROWL_APP_NAME key, unless a delegate is set. + * + * This function is mainly an alternative to the delegate system introduced + * with Growl 0.6. Without a delegate, you cannot receive callbacks such as + * growlIsReady (since they are sent to the delegate). You can, + * however, set a delegate after registering without one. + * + * This function was introduced in Growl.framework 0.7. + * @result false if registration failed (e.g. if Growl isn't installed). + */ +GROWL_EXPORT Boolean Growl_RegisterWithDictionary(CFDictionaryRef regDict); + +/*! @function Growl_Reregister + * @abstract Updates your registration with Growl. + * @discussion If your application changes the contents of the + * GROWL_NOTIFICATIONS_ALL key in the registrationDictionary member of the + * Growl delegate, or if it changes the value of that member, or if it + * changes the contents of its auto-discoverable plist, call this function + * to have Growl update its registration information for your application. + * + * Otherwise, this function does not normally need to be called. If you're + * using a delegate, your application will be registered when you set the + * delegate if both the delegate and its registrationDictionary member are + * non-NULL. + * + * This function is now implemented using + * Growl_RegisterWithDictionary. + */ +GROWL_EXPORT void Growl_Reregister(void); + +#pragma mark - + +/*! @function Growl_SetWillRegisterWhenGrowlIsReady + * @abstract Tells GrowlApplicationBridge to register with Growl when Growl + * launches (or not). + * @discussion When Growl has started listening for notifications, it posts a + * GROWL_IS_READY notification on the Distributed Notification + * Center. GrowlApplicationBridge listens for this notification, using it to + * perform various tasks (such as calling your delegate's + * growlIsReady callback, if it has one). If this function is + * called with true, one of those tasks will be to reregister + * with Growl (in the manner of Growl_Reregister). + * + * This attribute is automatically set back to false + * (the default) after every GROWL_IS_READY notification. + * @param flag true if you want GrowlApplicationBridge to register with + * Growl when next it is ready; false if not. + */ +GROWL_EXPORT void Growl_SetWillRegisterWhenGrowlIsReady(Boolean flag); +/*! @function Growl_WillRegisterWhenGrowlIsReady + * @abstract Reports whether GrowlApplicationBridge will register with Growl + * when Growl next launches. + * @result true if GrowlApplicationBridge will register with + * Growl when next it posts GROWL_IS_READY; false if not. + */ +GROWL_EXPORT Boolean Growl_WillRegisterWhenGrowlIsReady(void); + +#pragma mark - + +// @functiongroup Obtaining registration dictionaries + +/*! @function Growl_CopyRegistrationDictionaryFromDelegate + * @abstract Asks the delegate for a registration dictionary. + * @discussion If no delegate is set, or if the delegate's + * registrationDictionary member is NULL, this + * function returns NULL. + * + * This function does not attempt to clean up the dictionary in any way - for + * example, if it is missing the GROWL_APP_NAME key, the result + * will be missing it too. Use + * Growl_CreateRegistrationDictionaryByFillingInDictionary or + * Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys + * to try to fill in missing keys. + * + * This function was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ +GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromDelegate(void); + +/*! @function Growl_CopyRegistrationDictionaryFromBundle + * @abstract Looks in a bundle for a registration dictionary. + * @discussion This function looks in a bundle for an auto-discoverable + * registration dictionary file using CFBundleCopyResourceURL. + * If it finds one, it loads the file using CFPropertyList and + * returns the result. + * + * If you pass NULL as the bundle, the main bundle is examined. + * + * This function does not attempt to clean up the dictionary in any way - for + * example, if it is missing the GROWL_APP_NAME key, the result + * will be missing it too. Use + * Growl_CreateRegistrationDictionaryByFillingInDictionary: or + * Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys + * to try to fill in missing keys. + * + * This function was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ +GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromBundle(CFBundleRef bundle); + +/*! @function Growl_CreateBestRegistrationDictionary + * @abstract Obtains a registration dictionary, filled out to the best of + * GrowlApplicationBridge's knowledge. + * @discussion This function creates a registration dictionary as best + * GrowlApplicationBridge knows how. + * + * First, GrowlApplicationBridge examines the Growl delegate (if there is + * one) and gets the registration dictionary from that. If no such dictionary + * was obtained, GrowlApplicationBridge looks in your application's main + * bundle for an auto-discoverable registration dictionary file. If that + * doesn't exist either, this function returns NULL. + * + * Second, GrowlApplicationBridge calls + * Growl_CreateRegistrationDictionaryByFillingInDictionary with + * whatever dictionary was obtained. The result of that function is the + * result of this function. + * + * GrowlApplicationBridge uses this function when you call + * Growl_SetDelegate, or when you call + * Growl_RegisterWithDictionary with NULL. + * + * This function was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ +GROWL_EXPORT CFDictionaryRef Growl_CreateBestRegistrationDictionary(void); + +#pragma mark - + +// @functiongroup Filling in registration dictionaries + +/*! @function Growl_CreateRegistrationDictionaryByFillingInDictionary + * @abstract Tries to fill in missing keys in a registration dictionary. + * @param regDict The dictionary to fill in. + * @result The dictionary with the keys filled in. + * @discussion This function examines the passed-in dictionary for missing keys, + * and tries to work out correct values for them. As of 0.7, it uses: + * + * Key Value + * --- ----- + * GROWL_APP_NAME CFBundleExecutableName + * GROWL_APP_ICON The icon of the application. + * GROWL_APP_LOCATION The location of the application. + * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL + * + * Keys are only filled in if missing; if a key is present in the dictionary, + * its value will not be changed. + * + * This function was introduced in Growl.framework 0.7. + */ +GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionary(CFDictionaryRef regDict); +/*! @function Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys + * @abstract Tries to fill in missing keys in a registration dictionary. + * @param regDict The dictionary to fill in. + * @param keys The keys to fill in. If NULL, any missing keys are filled in. + * @result The dictionary with the keys filled in. + * @discussion This function examines the passed-in dictionary for missing keys, + * and tries to work out correct values for them. As of 0.7, it uses: + * + * Key Value + * --- ----- + * GROWL_APP_NAME CFBundleExecutableName + * GROWL_APP_ICON The icon of the application. + * GROWL_APP_LOCATION The location of the application. + * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL + * + * Only those keys that are listed in keys will be filled in. + * Other missing keys are ignored. Also, keys are only filled in if missing; + * if a key is present in the dictionary, its value will not be changed. + * + * This function was introduced in Growl.framework 0.7. + */ +GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys(CFDictionaryRef regDict, CFSetRef keys); + +/*! @brief Tries to fill in missing keys in a notification dictionary. + * @param notifDict The dictionary to fill in. + * @return The dictionary with the keys filled in. This will be a separate instance from \a notifDict. + * @discussion This function examines the \a notifDict for missing keys, and + * tries to get them from the last known registration dictionary. As of 1.1, + * the keys that it will look for are: + * + * \li GROWL_APP_NAME + * \li GROWL_APP_ICON + * + * @since Growl.framework 1.1 + */ +GROWL_EXPORT CFDictionaryRef Growl_CreateNotificationDictionaryByFillingInDictionary(CFDictionaryRef notifDict); + +#pragma mark - + +// @functiongroup Querying Growl's status + +/*! @function Growl_IsInstalled + * @abstract Determines whether the Growl prefpane and its helper app are + * installed. + * @result Returns true if Growl is installed, false otherwise. + */ +GROWL_EXPORT Boolean Growl_IsInstalled(void); + +/*! @function Growl_IsRunning + * @abstract Cycles through the process list to find whether GrowlHelperApp + * is running. + * @result Returns true if Growl is running, false otherwise. + */ +GROWL_EXPORT Boolean Growl_IsRunning(void); + +#pragma mark - + +// @functiongroup Launching Growl + +/*! @typedef GrowlLaunchCallback + * @abstract Callback to notify you that Growl is running. + * @param context The context pointer passed to Growl_LaunchIfInstalled. + * @discussion Growl_LaunchIfInstalled calls this callback function if Growl + * was already running or if it launched Growl successfully. + */ +typedef void (*GrowlLaunchCallback)(void *context); + +/*! @function Growl_LaunchIfInstalled + * @abstract Launches GrowlHelperApp if it is not already running. + * @param callback A callback function which will be called if Growl was successfully + * launched or was already running. Can be NULL. + * @param context The context pointer to pass to the callback. Can be NULL. + * @result Returns true if Growl was successfully launched or was already + * running; returns false and does not call the callback otherwise. + * @discussion Returns true and calls the callback (if the callback is not + * NULL) if the Growl helper app began launching or was already + * running. Returns false and performs no other action if Growl could not be + * launched (e.g. because the Growl preference pane is not properly installed). + * + * If Growl_CreateBestRegistrationDictionary returns + * non-NULL, this function will register with Growl atomically. + * + * The callback should take a single argument; this is to allow applications + * to have context-relevant information passed back. It is perfectly + * acceptable for context to be NULL. The callback itself can be + * NULL if you don't want one. + */ +GROWL_EXPORT Boolean Growl_LaunchIfInstalled(GrowlLaunchCallback callback, void *context); + +#pragma mark - +#pragma mark Constants + +/*! @defined GROWL_PREFPANE_BUNDLE_IDENTIFIER + * @abstract The CFBundleIdentifier of the Growl preference pane bundle. + * @discussion GrowlApplicationBridge uses this to determine whether Growl is + * currently installed, by searching for the Growl preference pane. Your + * application probably does not need to use this macro itself. + */ +#ifndef GROWL_PREFPANE_BUNDLE_IDENTIFIER +#define GROWL_PREFPANE_BUNDLE_IDENTIFIER CFSTR("com.growl.prefpanel") +#endif + +__END_DECLS + +#endif /* _GROWLAPPLICATIONBRIDGE_CARBON_H_ */ diff --git a/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h b/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h new file mode 100644 index 000000000..1e39f8d65 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h @@ -0,0 +1,575 @@ +// +// GrowlApplicationBridge.h +// Growl +// +// Created by Evan Schoenberg on Wed Jun 16 2004. +// Copyright 2004-2006 The Growl Project. All rights reserved. +// + +/*! + * @header GrowlApplicationBridge.h + * @abstract Defines the GrowlApplicationBridge class. + * @discussion This header defines the GrowlApplicationBridge class as well as + * the GROWL_PREFPANE_BUNDLE_IDENTIFIER constant. + */ + +#ifndef __GrowlApplicationBridge_h__ +#define __GrowlApplicationBridge_h__ + +#import +#import +#import "GrowlDefines.h" + +//Forward declarations +@protocol GrowlApplicationBridgeDelegate; + +//Internal notification when the user chooses not to install (to avoid continuing to cache notifications awaiting installation) +#define GROWL_USER_CHOSE_NOT_TO_INSTALL_NOTIFICATION @"User chose not to install" + +//------------------------------------------------------------------------------ +#pragma mark - + +/*! + * @class GrowlApplicationBridge + * @abstract A class used to interface with Growl. + * @discussion This class provides a means to interface with Growl. + * + * Currently it provides a way to detect if Growl is installed and launch the + * GrowlHelperApp if it's not already running. + */ +@interface GrowlApplicationBridge : NSObject { + +} + +/*! + * @method isGrowlInstalled + * @abstract Detects whether Growl is installed. + * @discussion Determines if the Growl prefpane and its helper app are installed. + * @result Returns YES if Growl is installed, NO otherwise. + */ ++ (BOOL) isGrowlInstalled; + +/*! + * @method isGrowlRunning + * @abstract Detects whether GrowlHelperApp is currently running. + * @discussion Cycles through the process list to find whether GrowlHelperApp is running and returns its findings. + * @result Returns YES if GrowlHelperApp is running, NO otherwise. + */ ++ (BOOL) isGrowlRunning; + +#pragma mark - + +/*! + * @method setGrowlDelegate: + * @abstract Set the object which will be responsible for providing and receiving Growl information. + * @discussion This must be called before using GrowlApplicationBridge. + * + * The methods in the GrowlApplicationBridgeDelegate protocol are required + * and return the basic information needed to register with Growl. + * + * The methods in the GrowlApplicationBridgeDelegate_InformalProtocol + * informal protocol are individually optional. They provide a greater + * degree of interaction between the application and growl such as informing + * the application when one of its Growl notifications is clicked by the user. + * + * The methods in the GrowlApplicationBridgeDelegate_Installation_InformalProtocol + * informal protocol are individually optional and are only applicable when + * using the Growl-WithInstaller.framework which allows for automated Growl + * installation. + * + * When this method is called, data will be collected from inDelegate, Growl + * will be launched if it is not already running, and the application will be + * registered with Growl. + * + * If using the Growl-WithInstaller framework, if Growl is already installed + * but this copy of the framework has an updated version of Growl, the user + * will be prompted to update automatically. + * + * @param inDelegate The delegate for the GrowlApplicationBridge. It must conform to the GrowlApplicationBridgeDelegate protocol. + */ ++ (void) setGrowlDelegate:(NSObject *)inDelegate; + +/*! + * @method growlDelegate + * @abstract Return the object responsible for providing and receiving Growl information. + * @discussion See setGrowlDelegate: for details. + * @result The Growl delegate. + */ ++ (NSObject *) growlDelegate; + +#pragma mark - + +/*! + * @method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext: + * @abstract Send a Growl notification. + * @discussion This is the preferred means for sending a Growl notification. + * The notification name and at least one of the title and description are + * required (all three are preferred). All other parameters may be + * nil (or 0 or NO as appropriate) to accept default values. + * + * If using the Growl-WithInstaller framework, if Growl is not installed the + * user will be prompted to install Growl. If the user cancels, this method + * will have no effect until the next application session, at which time when + * it is called the user will be prompted again. The user is also given the + * option to not be prompted again. If the user does choose to install Growl, + * the requested notification will be displayed once Growl is installed and + * running. + * + * @param title The title of the notification displayed to the user. + * @param description The full description of the notification displayed to the user. + * @param notifName The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane. + * @param iconData NSData object to show with the notification as its icon. If nil, the application's icon will be used instead. + * @param priority The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority. + * @param isSticky If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications. + * @param clickContext A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of NSString, NSArray, NSNumber, NSDictionary, and NSData types). + */ ++ (void) notifyWithTitle:(NSString *)title + description:(NSString *)description + notificationName:(NSString *)notifName + iconData:(NSData *)iconData + priority:(signed int)priority + isSticky:(BOOL)isSticky + clickContext:(id)clickContext; + +/*! + * @method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:identifier: + * @abstract Send a Growl notification. + * @discussion This is the preferred means for sending a Growl notification. + * The notification name and at least one of the title and description are + * required (all three are preferred). All other parameters may be + * nil (or 0 or NO as appropriate) to accept default values. + * + * If using the Growl-WithInstaller framework, if Growl is not installed the + * user will be prompted to install Growl. If the user cancels, this method + * will have no effect until the next application session, at which time when + * it is called the user will be prompted again. The user is also given the + * option to not be prompted again. If the user does choose to install Growl, + * the requested notification will be displayed once Growl is installed and + * running. + * + * @param title The title of the notification displayed to the user. + * @param description The full description of the notification displayed to the user. + * @param notifName The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane. + * @param iconData NSData object to show with the notification as its icon. If nil, the application's icon will be used instead. + * @param priority The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority. + * @param isSticky If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications. + * @param clickContext A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of NSString, NSArray, NSNumber, NSDictionary, and NSData types). + * @param identifier An identifier for this notification. Notifications with equal identifiers are coalesced. + */ ++ (void) notifyWithTitle:(NSString *)title + description:(NSString *)description + notificationName:(NSString *)notifName + iconData:(NSData *)iconData + priority:(signed int)priority + isSticky:(BOOL)isSticky + clickContext:(id)clickContext + identifier:(NSString *)identifier; + +/*! @method notifyWithDictionary: + * @abstract Notifies using a userInfo dictionary suitable for passing to + * NSDistributedNotificationCenter. + * @param userInfo The dictionary to notify with. + * @discussion Before Growl 0.6, your application would have posted + * notifications using NSDistributedNotificationCenter by + * creating a userInfo dictionary with the notification data. This had the + * advantage of allowing you to add other data to the dictionary for programs + * besides Growl that might be listening. + * + * This method allows you to use such dictionaries without being restricted + * to using NSDistributedNotificationCenter. The keys for this dictionary + * can be found in GrowlDefines.h. + */ ++ (void) notifyWithDictionary:(NSDictionary *)userInfo; + +#pragma mark - + +/*! @method registerWithDictionary: + * @abstract Register your application with Growl without setting a delegate. + * @discussion When you call this method with a dictionary, + * GrowlApplicationBridge registers your application using that dictionary. + * If you pass nil, GrowlApplicationBridge will ask the delegate + * (if there is one) for a dictionary, and if that doesn't work, it will look + * in your application's bundle for an auto-discoverable plist. + * (XXX refer to more information on that) + * + * If you pass a dictionary to this method, it must include the + * GROWL_APP_NAME key, unless a delegate is set. + * + * This method is mainly an alternative to the delegate system introduced + * with Growl 0.6. Without a delegate, you cannot receive callbacks such as + * -growlIsReady (since they are sent to the delegate). You can, + * however, set a delegate after registering without one. + * + * This method was introduced in Growl.framework 0.7. + */ ++ (BOOL) registerWithDictionary:(NSDictionary *)regDict; + +/*! @method reregisterGrowlNotifications + * @abstract Reregister the notifications for this application. + * @discussion This method does not normally need to be called. If your + * application changes what notifications it is registering with Growl, call + * this method to have the Growl delegate's + * -registrationDictionaryForGrowl method called again and the + * Growl registration information updated. + * + * This method is now implemented using -registerWithDictionary:. + */ ++ (void) reregisterGrowlNotifications; + +#pragma mark - + +/*! @method setWillRegisterWhenGrowlIsReady: + * @abstract Tells GrowlApplicationBridge to register with Growl when Growl + * launches (or not). + * @discussion When Growl has started listening for notifications, it posts a + * GROWL_IS_READY notification on the Distributed Notification + * Center. GrowlApplicationBridge listens for this notification, using it to + * perform various tasks (such as calling your delegate's + * -growlIsReady method, if it has one). If this method is + * called with YES, one of those tasks will be to reregister + * with Growl (in the manner of -reregisterGrowlNotifications). + * + * This attribute is automatically set back to NO (the default) + * after every GROWL_IS_READY notification. + * @param flag YES if you want GrowlApplicationBridge to register with + * Growl when next it is ready; NO if not. + */ ++ (void) setWillRegisterWhenGrowlIsReady:(BOOL)flag; +/*! @method willRegisterWhenGrowlIsReady + * @abstract Reports whether GrowlApplicationBridge will register with Growl + * when Growl next launches. + * @result YES if GrowlApplicationBridge will register with Growl + * when next it posts GROWL_IS_READY; NO if not. + */ ++ (BOOL) willRegisterWhenGrowlIsReady; + +#pragma mark - + +/*! @method registrationDictionaryFromDelegate + * @abstract Asks the delegate for a registration dictionary. + * @discussion If no delegate is set, or if the delegate's + * -registrationDictionaryForGrowl method returns + * nil, this method returns nil. + * + * This method does not attempt to clean up the dictionary in any way - for + * example, if it is missing the GROWL_APP_NAME key, the result + * will be missing it too. Use +[GrowlApplicationBridge + * registrationDictionaryByFillingInDictionary:] or + * +[GrowlApplicationBridge + * registrationDictionaryByFillingInDictionary:restrictToKeys:] to try + * to fill in missing keys. + * + * This method was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ ++ (NSDictionary *) registrationDictionaryFromDelegate; + +/*! @method registrationDictionaryFromBundle: + * @abstract Looks in a bundle for a registration dictionary. + * @discussion This method looks in a bundle for an auto-discoverable + * registration dictionary file using -[NSBundle + * pathForResource:ofType:]. If it finds one, it loads the file using + * +[NSDictionary dictionaryWithContentsOfFile:] and returns the + * result. + * + * If you pass nil as the bundle, the main bundle is examined. + * + * This method does not attempt to clean up the dictionary in any way - for + * example, if it is missing the GROWL_APP_NAME key, the result + * will be missing it too. Use +[GrowlApplicationBridge + * registrationDictionaryByFillingInDictionary:] or + * +[GrowlApplicationBridge + * registrationDictionaryByFillingInDictionary:restrictToKeys:] to try + * to fill in missing keys. + * + * This method was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ ++ (NSDictionary *) registrationDictionaryFromBundle:(NSBundle *)bundle; + +/*! @method bestRegistrationDictionary + * @abstract Obtains a registration dictionary, filled out to the best of + * GrowlApplicationBridge's knowledge. + * @discussion This method creates a registration dictionary as best + * GrowlApplicationBridge knows how. + * + * First, GrowlApplicationBridge contacts the Growl delegate (if there is + * one) and gets the registration dictionary from that. If no such dictionary + * was obtained, GrowlApplicationBridge looks in your application's main + * bundle for an auto-discoverable registration dictionary file. If that + * doesn't exist either, this method returns nil. + * + * Second, GrowlApplicationBridge calls + * +registrationDictionaryByFillingInDictionary: with whatever + * dictionary was obtained. The result of that method is the result of this + * method. + * + * GrowlApplicationBridge uses this method when you call + * +setGrowlDelegate:, or when you call + * +registerWithDictionary: with nil. + * + * This method was introduced in Growl.framework 0.7. + * @result A registration dictionary. + */ ++ (NSDictionary *) bestRegistrationDictionary; + +#pragma mark - + +/*! @method registrationDictionaryByFillingInDictionary: + * @abstract Tries to fill in missing keys in a registration dictionary. + * @discussion This method examines the passed-in dictionary for missing keys, + * and tries to work out correct values for them. As of 0.7, it uses: + * + * Key Value + * --- ----- + * GROWL_APP_NAME CFBundleExecutableName + * GROWL_APP_ICON The icon of the application. + * GROWL_APP_LOCATION The location of the application. + * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL + * + * Keys are only filled in if missing; if a key is present in the dictionary, + * its value will not be changed. + * + * This method was introduced in Growl.framework 0.7. + * @param regDict The dictionary to fill in. + * @result The dictionary with the keys filled in. This is an autoreleased + * copy of regDict. + */ ++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict; +/*! @method registrationDictionaryByFillingInDictionary:restrictToKeys: + * @abstract Tries to fill in missing keys in a registration dictionary. + * @discussion This method examines the passed-in dictionary for missing keys, + * and tries to work out correct values for them. As of 0.7, it uses: + * + * Key Value + * --- ----- + * GROWL_APP_NAME CFBundleExecutableName + * GROWL_APP_ICON The icon of the application. + * GROWL_APP_LOCATION The location of the application. + * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL + * + * Only those keys that are listed in keys will be filled in. + * Other missing keys are ignored. Also, keys are only filled in if missing; + * if a key is present in the dictionary, its value will not be changed. + * + * This method was introduced in Growl.framework 0.7. + * @param regDict The dictionary to fill in. + * @param keys The keys to fill in. If nil, any missing keys are filled in. + * @result The dictionary with the keys filled in. This is an autoreleased + * copy of regDict. + */ ++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict restrictToKeys:(NSSet *)keys; + +/*! @brief Tries to fill in missing keys in a notification dictionary. + * @param notifDict The dictionary to fill in. + * @return The dictionary with the keys filled in. This will be a separate instance from \a notifDict. + * @discussion This function examines the \a notifDict for missing keys, and + * tries to get them from the last known registration dictionary. As of 1.1, + * the keys that it will look for are: + * + * \li GROWL_APP_NAME + * \li GROWL_APP_ICON + * + * @since Growl.framework 1.1 + */ ++ (NSDictionary *) notificationDictionaryByFillingInDictionary:(NSDictionary *)regDict; + ++ (NSDictionary *) frameworkInfoDictionary; +@end + +//------------------------------------------------------------------------------ +#pragma mark - + +/*! + * @protocol GrowlApplicationBridgeDelegate + * @abstract Required protocol for the Growl delegate. + * @discussion The methods in this protocol are required and are called + * automatically as needed by GrowlApplicationBridge. See + * +[GrowlApplicationBridge setGrowlDelegate:]. + * See also GrowlApplicationBridgeDelegate_InformalProtocol. + */ + +@protocol GrowlApplicationBridgeDelegate + +// -registrationDictionaryForGrowl has moved to the informal protocol as of 0.7. + +@end + +//------------------------------------------------------------------------------ +#pragma mark - + +/*! + * @category NSObject(GrowlApplicationBridgeDelegate_InformalProtocol) + * @abstract Methods which may be optionally implemented by the GrowlDelegate. + * @discussion The methods in this informal protocol will only be called if implemented by the delegate. + */ +@interface NSObject (GrowlApplicationBridgeDelegate_InformalProtocol) + +/*! + * @method registrationDictionaryForGrowl + * @abstract Return the dictionary used to register this application with Growl. + * @discussion The returned dictionary gives Growl the complete list of + * notifications this application will ever send, and it also specifies which + * notifications should be enabled by default. Each is specified by an array + * of NSString objects. + * + * For most applications, these two arrays can be the same (if all sent + * notifications should be displayed by default). + * + * The NSString objects of these arrays will correspond to the + * notificationName: parameter passed in + * +[GrowlApplicationBridge + * notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:] calls. + * + * The dictionary should have the required key object pairs: + * key: GROWL_NOTIFICATIONS_ALL object: NSArray of NSString objects + * key: GROWL_NOTIFICATIONS_DEFAULT object: NSArray of NSString objects + * + * The dictionary may have the following key object pairs: + * key: GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES object: NSDictionary of key: notification name object: human-readable notification name + * + * You do not need to implement this method if you have an auto-discoverable + * plist file in your app bundle. (XXX refer to more information on that) + * + * @result The NSDictionary to use for registration. + */ +- (NSDictionary *) registrationDictionaryForGrowl; + +/*! + * @method applicationNameForGrowl + * @abstract Return the name of this application which will be used for Growl bookkeeping. + * @discussion This name is used both internally and in the Growl preferences. + * + * This should remain stable between different versions and incarnations of + * your application. + * For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and + * "SurfWriter Lite" are not. + * + * You do not need to implement this method if you are providing the + * application name elsewhere, meaning in an auto-discoverable plist file in + * your app bundle (XXX refer to more information on that) or in the result + * of -registrationDictionaryForGrowl. + * + * @result The name of the application using Growl. + */ +- (NSString *) applicationNameForGrowl; + +/*! + * @method applicationIconForGrowl + * @abstract Return the NSImage to treat as the application icon. + * @discussion The delegate may optionally return an NSImage + * object to use as the application icon. If this method is not implemented, + * {{{-applicationIconDataForGrowl}}} is tried. If that method is not + * implemented, the application's own icon is used. Neither method is + * generally needed. + * @result The NSImage to treat as the application icon. + */ +- (NSImage *) applicationIconForGrowl; + +/*! + * @method applicationIconDataForGrowl + * @abstract Return the NSData to treat as the application icon. + * @discussion The delegate may optionally return an NSData + * object to use as the application icon; if this is not implemented, the + * application's own icon is used. This is not generally needed. + * @result The NSData to treat as the application icon. + * @deprecated In version 1.1, in favor of {{{-applicationIconForGrowl}}}. + */ +- (NSData *) applicationIconDataForGrowl; + +/*! + * @method growlIsReady + * @abstract Informs the delegate that Growl has launched. + * @discussion Informs the delegate that Growl (specifically, the + * GrowlHelperApp) was launched successfully. The application can take actions + * with the knowledge that Growl is installed and functional. + */ +- (void) growlIsReady; + +/*! + * @method growlNotificationWasClicked: + * @abstract Informs the delegate that a Growl notification was clicked. + * @discussion Informs the delegate that a Growl notification was clicked. It + * is only sent for notifications sent with a non-nil + * clickContext, so if you want to receive a message when a notification is + * clicked, clickContext must not be nil when calling + * +[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]. + * @param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]. + */ +- (void) growlNotificationWasClicked:(id)clickContext; + +/*! + * @method growlNotificationTimedOut: + * @abstract Informs the delegate that a Growl notification timed out. + * @discussion Informs the delegate that a Growl notification timed out. It + * is only sent for notifications sent with a non-nil + * clickContext, so if you want to receive a message when a notification is + * clicked, clickContext must not be nil when calling + * +[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]. + * @param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]. + */ +- (void) growlNotificationTimedOut:(id)clickContext; + +@end + +#pragma mark - +/*! + * @category NSObject(GrowlApplicationBridgeDelegate_Installation_InformalProtocol) + * @abstract Methods which may be optionally implemented by the Growl delegate when used with Growl-WithInstaller.framework. + * @discussion The methods in this informal protocol will only be called if + * implemented by the delegate. They allow greater control of the information + * presented to the user when installing or upgrading Growl from within your + * application when using Growl-WithInstaller.framework. + */ +@interface NSObject (GrowlApplicationBridgeDelegate_Installation_InformalProtocol) + +/*! + * @method growlInstallationWindowTitle + * @abstract Return the title of the installation window. + * @discussion If not implemented, Growl will use a default, localized title. + * @result An NSString object to use as the title. + */ +- (NSString *)growlInstallationWindowTitle; + +/*! + * @method growlUpdateWindowTitle + * @abstract Return the title of the upgrade window. + * @discussion If not implemented, Growl will use a default, localized title. + * @result An NSString object to use as the title. + */ +- (NSString *)growlUpdateWindowTitle; + +/*! + * @method growlInstallationInformation + * @abstract Return the information to display when installing. + * @discussion This information may be as long or short as desired (the window + * will be sized to fit it). It will be displayed to the user as an + * explanation of what Growl is and what it can do in your application. It + * should probably note that no download is required to install. + * + * If this is not implemented, Growl will use a default, localized explanation. + * @result An NSAttributedString object to display. + */ +- (NSAttributedString *)growlInstallationInformation; + +/*! + * @method growlUpdateInformation + * @abstract Return the information to display when upgrading. + * @discussion This information may be as long or short as desired (the window + * will be sized to fit it). It will be displayed to the user as an + * explanation that an updated version of Growl is included in your + * application and no download is required. + * + * If this is not implemented, Growl will use a default, localized explanation. + * @result An NSAttributedString object to display. + */ +- (NSAttributedString *)growlUpdateInformation; + +@end + +//private +@interface GrowlApplicationBridge (GrowlInstallationPrompt_private) ++ (void) _userChoseNotToInstallGrowl; +@end + +#endif /* __GrowlApplicationBridge_h__ */ diff --git a/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlDefines.h b/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlDefines.h new file mode 100644 index 000000000..2b971cfe5 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Versions/A/Headers/GrowlDefines.h @@ -0,0 +1,348 @@ +// +// GrowlDefines.h +// + +#ifndef _GROWLDEFINES_H +#define _GROWLDEFINES_H + +#ifdef __OBJC__ +#define XSTR(x) (@x) +#define STRING_TYPE NSString * +#else +#define XSTR CFSTR +#define STRING_TYPE CFStringRef +#endif + +/*! @header GrowlDefines.h + * @abstract Defines all the notification keys. + * @discussion Defines all the keys used for registration with Growl and for + * Growl notifications. + * + * Most applications should use the functions or methods of Growl.framework + * instead of posting notifications such as those described here. + * @updated 2004-01-25 + */ + +// UserInfo Keys for Registration +#pragma mark UserInfo Keys for Registration + +/*! @group Registration userInfo keys */ +/* @abstract Keys for the userInfo dictionary of a GROWL_APP_REGISTRATION distributed notification. + * @discussion The values of these keys describe the application and the + * notifications it may post. + * + * Your application must register with Growl before it can post Growl + * notifications (and have them not be ignored). However, as of Growl 0.6, + * posting GROWL_APP_REGISTRATION notifications directly is no longer the + * preferred way to register your application. Your application should instead + * use Growl.framework's delegate system. + * See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for + * more information. + */ + +/*! @defined GROWL_APP_NAME + * @abstract The name of your application. + * @discussion The name of your application. This should remain stable between + * different versions and incarnations of your application. + * For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and + * "SurfWriter Lite" are not. + */ +#define GROWL_APP_NAME XSTR("ApplicationName") +/*! @defined GROWL_APP_ID + * @abstract The bundle identifier of your application. + * @discussion The bundle identifier of your application. This key should + * be unique for your application while there may be several applications + * with the same GROWL_APP_NAME. + * This key is optional. + */ +#define GROWL_APP_ID XSTR("ApplicationId") +/*! @defined GROWL_APP_ICON + * @abstract The image data for your application's icon. + * @discussion Image data representing your application's icon. This may be + * superimposed on a notification icon as a badge, used as the notification + * icon when a notification-specific icon is not supplied, or ignored + * altogether, depending on the display. Must be in a format supported by + * NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_APP_ICON XSTR("ApplicationIcon") +/*! @defined GROWL_NOTIFICATIONS_DEFAULT + * @abstract The array of notifications to turn on by default. + * @discussion These are the names of the notifications that should be enabled + * by default when your application registers for the first time. If your + * application reregisters, Growl will look here for any new notification + * names found in GROWL_NOTIFICATIONS_ALL, but ignore any others. + */ +#define GROWL_NOTIFICATIONS_DEFAULT XSTR("DefaultNotifications") +/*! @defined GROWL_NOTIFICATIONS_ALL + * @abstract The array of all notifications your application can send. + * @discussion These are the names of all of the notifications that your + * application may post. See GROWL_NOTIFICATION_NAME for a discussion of good + * notification names. + */ +#define GROWL_NOTIFICATIONS_ALL XSTR("AllNotifications") +/*! @defined GROWL_NOTIFICATIONS_HUMAN_READABLE_DESCRIPTIONS + * @abstract A dictionary of human-readable names for your notifications. + * @discussion By default, the Growl UI will display notifications by the names given in GROWL_NOTIFICATIONS_ALL + * which correspond to the GROWL_NOTIFICATION_NAME. This dictionary specifies the human-readable name to display. + * The keys of the dictionary are GROWL_NOTIFICATION_NAME strings; the objects are the human-readable versions. + * For any GROWL_NOTIFICATION_NAME not specific in this dictionary, the GROWL_NOTIFICATION_NAME will be displayed. + * + * This key is optional. + */ +#define GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES XSTR("HumanReadableNames") +/*! @defined GROWL_NOTIFICATIONS_DESCRIPTIONS +* @abstract A dictionary of descriptions of _when_ each notification occurs +* @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are +* descriptions of _when_ each notification occurs, such as "You received a new mail message" or +* "A file finished downloading". +* +* This key is optional. +*/ +#define GROWL_NOTIFICATIONS_DESCRIPTIONS XSTR("NotificationDescriptions") + +/*! @defined GROWL_TICKET_VERSION + * @abstract The version of your registration ticket. + * @discussion Include this key in a ticket plist file that you put in your + * application bundle for auto-discovery. The current ticket version is 1. + */ +#define GROWL_TICKET_VERSION XSTR("TicketVersion") +// UserInfo Keys for Notifications +#pragma mark UserInfo Keys for Notifications + +/*! @group Notification userInfo keys */ +/* @abstract Keys for the userInfo dictionary of a GROWL_NOTIFICATION distributed notification. + * @discussion The values of these keys describe the content of a Growl + * notification. + * + * Not all of these keys are supported by all displays. Only the name, title, + * and description of a notification are universal. Most of the built-in + * displays do support all of these keys, and most other visual displays + * probably will also. But, as of 0.6, the Log, MailMe, and Speech displays + * support only textual data. + */ + +/*! @defined GROWL_NOTIFICATION_NAME + * @abstract The name of the notification. + * @discussion The name of the notification. Note that if you do not define + * GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES when registering your ticket originally this name + * will the one displayed within the Growl preference pane and should be human-readable. + */ +#define GROWL_NOTIFICATION_NAME XSTR("NotificationName") +/*! @defined GROWL_NOTIFICATION_TITLE + * @abstract The title to display in the notification. + * @discussion The title of the notification. Should be very brief. + * The title usually says what happened, e.g. "Download complete". + */ +#define GROWL_NOTIFICATION_TITLE XSTR("NotificationTitle") +/*! @defined GROWL_NOTIFICATION_DESCRIPTION + * @abstract The description to display in the notification. + * @discussion The description should be longer and more verbose than the title. + * The description usually tells the subject of the action, + * e.g. "Growl-0.6.dmg downloaded in 5.02 minutes". + */ +#define GROWL_NOTIFICATION_DESCRIPTION XSTR("NotificationDescription") +/*! @defined GROWL_NOTIFICATION_ICON + * @discussion Image data for the notification icon. Must be in a format + * supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_ICON XSTR("NotificationIcon") +/*! @defined GROWL_NOTIFICATION_APP_ICON + * @discussion Image data for the application icon, in case GROWL_APP_ICON does + * not apply for some reason. Must be in a format supported by NSImage, such + * as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_APP_ICON XSTR("NotificationAppIcon") +/*! @defined GROWL_NOTIFICATION_PRIORITY + * @discussion The priority of the notification as an integer number from + * -2 to +2 (+2 being highest). + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_PRIORITY XSTR("NotificationPriority") +/*! @defined GROWL_NOTIFICATION_STICKY + * @discussion A Boolean number controlling whether the notification is sticky. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_STICKY XSTR("NotificationSticky") +/*! @defined GROWL_NOTIFICATION_CLICK_CONTEXT + * @abstract Identifies which notification was clicked. + * @discussion An identifier for the notification for clicking purposes. + * + * This will be passed back to the application when the notification is + * clicked. It must be plist-encodable (a data, dictionary, array, number, or + * string object), and it should be unique for each notification you post. + * A good click context would be a UUID string returned by NSProcessInfo or + * CFUUID. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_CLICK_CONTEXT XSTR("NotificationClickContext") + +/*! @defined GROWL_DISPLAY_PLUGIN + * @discussion The name of a display plugin which should be used for this notification. + * Optional. If this key is not set or the specified display plugin does not + * exist, the display plugin stored in the application ticket is used. This key + * allows applications to use different default display plugins for their + * notifications. The user can still override those settings in the preference + * pane. + */ +#define GROWL_DISPLAY_PLUGIN XSTR("NotificationDisplayPlugin") + +/*! @defined GROWL_NOTIFICATION_IDENTIFIER + * @abstract An identifier for the notification for coalescing purposes. + * Notifications with the same identifier fall into the same class; only + * the last notification of a class is displayed on the screen. If a + * notification of the same class is currently being displayed, it is + * replaced by this notification. + * + * Optional. Not supported by all display plugins. + */ +#define GROWL_NOTIFICATION_IDENTIFIER XSTR("GrowlNotificationIdentifier") + +/*! @defined GROWL_APP_PID + * @abstract The process identifier of the process which sends this + * notification. If this field is set, the application will only receive + * clicked and timed out notifications which originate from this process. + * + * Optional. + */ +#define GROWL_APP_PID XSTR("ApplicationPID") + +/*! @defined GROWL_NOTIFICATION_PROGRESS +* @abstract If this key is set, it should contain a double value wrapped +* in a NSNumber which describes some sort of progress (from 0.0 to 100.0). +* If this is key is not set, no progress bar is shown. +* +* Optional. Not supported by all display plugins. +*/ +#define GROWL_NOTIFICATION_PROGRESS XSTR("NotificationProgress") + +// Notifications +#pragma mark Notifications + +/*! @group Notification names */ +/* @abstract Names of distributed notifications used by Growl. + * @discussion These are notifications used by applications (directly or + * indirectly) to interact with Growl, and by Growl for interaction between + * its components. + * + * Most of these should no longer be used in Growl 0.6 and later, in favor of + * Growl.framework's GrowlApplicationBridge APIs. + */ + +/*! @defined GROWL_APP_REGISTRATION + * @abstract The distributed notification for registering your application. + * @discussion This is the name of the distributed notification that can be + * used to register applications with Growl. + * + * The userInfo dictionary for this notification can contain these keys: + *
    + *
  • GROWL_APP_NAME
  • + *
  • GROWL_APP_ICON
  • + *
  • GROWL_NOTIFICATIONS_ALL
  • + *
  • GROWL_NOTIFICATIONS_DEFAULT
  • + *
+ * + * No longer recommended as of Growl 0.6. An alternate method of registering + * is to use Growl.framework's delegate system. + * See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for + * more information. + */ +#define GROWL_APP_REGISTRATION XSTR("GrowlApplicationRegistrationNotification") +/*! @defined GROWL_APP_REGISTRATION_CONF + * @abstract The distributed notification for confirming registration. + * @discussion The name of the distributed notification sent to confirm the + * registration. Used by the Growl preference pane. Your application probably + * does not need to use this notification. + */ +#define GROWL_APP_REGISTRATION_CONF XSTR("GrowlApplicationRegistrationConfirmationNotification") +/*! @defined GROWL_NOTIFICATION + * @abstract The distributed notification for Growl notifications. + * @discussion This is what it all comes down to. This is the name of the + * distributed notification that your application posts to actually send a + * Growl notification. + * + * The userInfo dictionary for this notification can contain these keys: + *
    + *
  • GROWL_NOTIFICATION_NAME (required)
  • + *
  • GROWL_NOTIFICATION_TITLE (required)
  • + *
  • GROWL_NOTIFICATION_DESCRIPTION (required)
  • + *
  • GROWL_NOTIFICATION_ICON
  • + *
  • GROWL_NOTIFICATION_APP_ICON
  • + *
  • GROWL_NOTIFICATION_PRIORITY
  • + *
  • GROWL_NOTIFICATION_STICKY
  • + *
  • GROWL_NOTIFICATION_CLICK_CONTEXT
  • + *
  • GROWL_APP_NAME (required)
  • + *
+ * + * No longer recommended as of Growl 0.6. Three alternate methods of posting + * notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:], + * Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and + * Growl_PostNotification. + */ +#define GROWL_NOTIFICATION XSTR("GrowlNotification") +/*! @defined GROWL_SHUTDOWN +* @abstract The distributed notification name that tells Growl to shutdown. +* @discussion The Growl preference pane posts this notification when the +* "Stop Growl" button is clicked. +*/ +#define GROWL_SHUTDOWN XSTR("GrowlShutdown") +/*! @defined GROWL_PING + * @abstract A distributed notification to check whether Growl is running. + * @discussion This is used by the Growl preference pane. If it receives a + * GROWL_PONG, the preference pane takes this to mean that Growl is running. + */ +#define GROWL_PING XSTR("Honey, Mind Taking Out The Trash") +/*! @defined GROWL_PONG + * @abstract The distributed notification sent in reply to GROWL_PING. + * @discussion GrowlHelperApp posts this in reply to GROWL_PING. + */ +#define GROWL_PONG XSTR("What Do You Want From Me, Woman") +/*! @defined GROWL_IS_READY + * @abstract The distributed notification sent when Growl starts up. + * @discussion GrowlHelperApp posts this when it has begin listening on all of + * its sources for new notifications. GrowlApplicationBridge (in + * Growl.framework), upon receiving this notification, reregisters using the + * registration dictionary supplied by its delegate. + */ +#define GROWL_IS_READY XSTR("Lend Me Some Sugar; I Am Your Neighbor!") +/*! @defined GROWL_NOTIFICATION_CLICKED + * @abstract The distributed notification sent when a supported notification is clicked. + * @discussion When a Growl notification with a click context is clicked on by + * the user, Growl posts this distributed notification. + * The GrowlApplicationBridge responds to this notification by calling a + * callback in its delegate. + */ +#define GROWL_NOTIFICATION_CLICKED XSTR("GrowlClicked!") +#define GROWL_NOTIFICATION_TIMED_OUT XSTR("GrowlTimedOut!") + +/*! @group Other symbols */ +/* Symbols which don't fit into any of the other categories. */ + +/*! @defined GROWL_KEY_CLICKED_CONTEXT + * @abstract Used internally as the key for the clickedContext passed over DNC. + * @discussion This key is used in GROWL_NOTIFICATION_CLICKED, and contains the + * click context that was supplied in the original notification. + */ +#define GROWL_KEY_CLICKED_CONTEXT XSTR("ClickedContext") +/*! @defined GROWL_REG_DICT_EXTENSION + * @abstract The filename extension for registration dictionaries. + * @discussion The GrowlApplicationBridge in Growl.framework registers with + * Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION) + * and opening it in the GrowlHelperApp. This happens whether or not Growl is + * running; if it was stopped, it quits immediately without listening for + * notifications. + */ +#define GROWL_REG_DICT_EXTENSION XSTR("growlRegDict") + + +#define GROWL_POSITION_PREFERENCE_KEY @"GrowlSelectedPosition" + +#endif //ndef _GROWLDEFINES_H diff --git a/macosx/Growl.Framework/Growl.framework/Versions/A/Resources/Info.plist b/macosx/Growl.Framework/Growl.framework/Versions/A/Resources/Info.plist new file mode 100644 index 000000000..5a76a5f19 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Growl + CFBundleIdentifier + com.growl.growlframework + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.2.1 + CFBundleSignature + GRRR + CFBundleVersion + 1.2.1 + NSPrincipalClass + GrowlApplicationBridge + + diff --git a/macosx/Growl.Framework/Growl.framework/Versions/Current b/macosx/Growl.Framework/Growl.framework/Versions/Current new file mode 120000 index 000000000..8c7e5a667 --- /dev/null +++ b/macosx/Growl.Framework/Growl.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/macosx/Growl.Framework/License.txt b/macosx/Growl.Framework/License.txt new file mode 100644 index 000000000..8e8721f72 --- /dev/null +++ b/macosx/Growl.Framework/License.txt @@ -0,0 +1,15 @@ +Copyright (c) The Growl Project, 2004-2009 +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of Growl nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.