Initial commit of GrowlITTSW. Currently, all settings are hardcoded.
[GrowlITTSW.git] / GrowlApplicationNotification.h
1 //
2 //      GrowlApplicationNotification.h
3 //      Growl
4 //
5 //      Created by Mac-arena the Bored Zo on 2005-07-31.
6 //      Copyright 2005-2006 The Growl Project. All rights reserved.
7 //
8
9 @interface GrowlApplicationNotification: NSObject
10 {
11         NSString *name, *applicationName;
12         NSString *title, *description;
13         NSAttributedString *attributedTitle, *attributedDescription;
14
15         NSDictionary *dictionary, *auxiliaryDictionary;
16
17         unsigned GANReserved: 30;
18 }
19
20 + (GrowlApplicationNotification *) notificationWithDictionary:(NSDictionary *)dict;
21
22 - (GrowlApplicationNotification *) initWithDictionary:(NSDictionary *)dict;
23
24 //you can pass nil for description.
25 - (GrowlApplicationNotification *) initWithName:(NSString *)newName
26                                 applicationName:(NSString *)newAppName
27                                           title:(NSString *)newTitle
28                                     description:(NSString *)newDesc;
29
30 //you can pass nil for description.
31 - (GrowlApplicationNotification *) initWithName:(NSString *)newName
32                                 applicationName:(NSString *)newAppName
33                                           title:(NSString *)newTitle
34                                     description:(NSString *)newDesc;
35
36 #pragma mark -
37
38 /*as of 0.8, this returns:
39  *      *       GROWL_NOTIFICATION_NAME
40  *      *       GROWL_APP_NAME
41  *      *       GROWL_NOTIFICATION_TITLE
42  *      *       GROWL_NOTIFICATION_DESCRIPTION
43  *you can pass this set to -dictionaryRepresentationWithKeys:.
44  */
45 + (NSSet *) standardKeys;
46
47 //same as dictionaryRepresentationWithKeys:nil.
48 - (NSDictionary *) dictionaryRepresentation;
49
50 /*with nil, returns all of the standard keys plus the auxiliary dictionary.
51  *with non-nil, returns only the keys (from internal storage plus the auxiliary
52  *      dictionary) that are in the set.
53  *in other words, returns the intersection of the standard dictionary keys, the
54  *      auxiliary dictionary, and the provided keys.
55  */
56 - (NSDictionary *) dictionaryRepresentationWithKeys:(NSSet *)keys;
57
58 #pragma mark -
59
60 - (NSString *) name;
61 - (NSString *) applicationName;
62
63 - (NSString *) title;
64 - (NSAttributedString *) attributedTitle;
65
66 - (NSString *) notificationDescription;
67 - (NSAttributedString *) attributedDescription;
68
69 - (NSDictionary *) auxiliaryDictionary;
70 - (void) setAuxiliaryDictionary:(NSDictionary *)newAuxDict;
71
72 @end