1de9dcd41SStephan Aßmus /* 2de9dcd41SStephan Aßmus * Copyright 2010, Haiku, Inc. All Rights Reserved. 3de9dcd41SStephan Aßmus * Distributed under the terms of the MIT License. 4de9dcd41SStephan Aßmus */ 5de9dcd41SStephan Aßmus #ifndef _NOTIFICATION_H 6de9dcd41SStephan Aßmus #define _NOTIFICATION_H 7de9dcd41SStephan Aßmus 8*0cf96104SAxel Dörfler 9de9dcd41SStephan Aßmus #include <Entry.h> 10de9dcd41SStephan Aßmus 11*0cf96104SAxel Dörfler 12*0cf96104SAxel Dörfler class BBitmap; 13*0cf96104SAxel Dörfler class BList; 14*0cf96104SAxel Dörfler 15*0cf96104SAxel Dörfler 16de9dcd41SStephan Aßmus // notification types 17de9dcd41SStephan Aßmus enum notification_type { 18de9dcd41SStephan Aßmus B_INFORMATION_NOTIFICATION, 19de9dcd41SStephan Aßmus B_IMPORTANT_NOTIFICATION, 20de9dcd41SStephan Aßmus B_ERROR_NOTIFICATION, 21de9dcd41SStephan Aßmus B_PROGRESS_NOTIFICATION 22de9dcd41SStephan Aßmus }; 23de9dcd41SStephan Aßmus 24de9dcd41SStephan Aßmus 25de9dcd41SStephan Aßmus class BNotification { 26de9dcd41SStephan Aßmus public: 27de9dcd41SStephan Aßmus BNotification(notification_type type); 28de9dcd41SStephan Aßmus ~BNotification(); 29de9dcd41SStephan Aßmus 30de9dcd41SStephan Aßmus notification_type Type() const; 31de9dcd41SStephan Aßmus 32de9dcd41SStephan Aßmus const char* Application() const; 33de9dcd41SStephan Aßmus void SetApplication(const char* app); 34de9dcd41SStephan Aßmus 35de9dcd41SStephan Aßmus const char* Title() const; 36de9dcd41SStephan Aßmus void SetTitle(const char* title); 37de9dcd41SStephan Aßmus 38de9dcd41SStephan Aßmus const char* Content() const; 39de9dcd41SStephan Aßmus void SetContent(const char* content); 40de9dcd41SStephan Aßmus 41de9dcd41SStephan Aßmus const char* MessageID() const; 42de9dcd41SStephan Aßmus void SetMessageID(const char* id); 43de9dcd41SStephan Aßmus 44de9dcd41SStephan Aßmus float Progress() const; 45de9dcd41SStephan Aßmus void SetProgress(float progress); 46de9dcd41SStephan Aßmus 47de9dcd41SStephan Aßmus const char* OnClickApp() const; 48de9dcd41SStephan Aßmus void SetOnClickApp(const char* app); 49de9dcd41SStephan Aßmus 50de9dcd41SStephan Aßmus entry_ref* OnClickFile() const; 51de9dcd41SStephan Aßmus void SetOnClickFile(const entry_ref* file); 52de9dcd41SStephan Aßmus 53de9dcd41SStephan Aßmus BList* OnClickRefs() const; 54de9dcd41SStephan Aßmus void AddOnClickRef(const entry_ref* ref); 55de9dcd41SStephan Aßmus 56de9dcd41SStephan Aßmus BList* OnClickArgv() const; 57de9dcd41SStephan Aßmus void AddOnClickArg(const char* arg); 58de9dcd41SStephan Aßmus 59de9dcd41SStephan Aßmus BBitmap* Icon() const; 60de9dcd41SStephan Aßmus void SetIcon(BBitmap* icon); 61de9dcd41SStephan Aßmus 62de9dcd41SStephan Aßmus private: 63de9dcd41SStephan Aßmus notification_type fType; 64de9dcd41SStephan Aßmus char* fAppName; 65de9dcd41SStephan Aßmus char* fTitle; 66de9dcd41SStephan Aßmus char* fContent; 67de9dcd41SStephan Aßmus char* fID; 68de9dcd41SStephan Aßmus float fProgress; 69de9dcd41SStephan Aßmus char* fApp; 70de9dcd41SStephan Aßmus entry_ref* fFile; 71de9dcd41SStephan Aßmus BList* fRefs; 72de9dcd41SStephan Aßmus BList* fArgv; 73de9dcd41SStephan Aßmus BBitmap* fBitmap; 74de9dcd41SStephan Aßmus }; 75de9dcd41SStephan Aßmus 76*0cf96104SAxel Dörfler 77de9dcd41SStephan Aßmus #endif // _NOTIFICATION_H 78