0.9.14 release -- add: TIVI-1751 Home Screen needs to use system notifications framework
[profile/ivi/ico-uxf-homescreen.git] / lib / notification / CicoNotification.h
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
4  * This program is licensed under the terms and conditions of the
5  * Apache License, version 2.0.  The full text of the Apache License is at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  */
9
10 //==========================================================================
11 /**
12  *  @file   CicoNotification.h
13  *
14  *  @brief  This file is definition of CicoNotification class
15  */
16 //==========================================================================
17 #ifndef __CICO_NOTIFICATION_H__
18 #define __CICO_NOTIFICATION_H__
19
20 #include <notification.h>
21
22 //--------------------------------------------------------------------------
23 /**
24  *  @class  CicoNotification
25  *
26  *  @brief  This class provide notification functions
27  */
28 //--------------------------------------------------------------------------
29 class CicoNotification {
30 public:
31     // constructor
32     CicoNotification(notification_type_e type);
33
34     // constructor
35     CicoNotification(notification_h noti);
36
37     // destructor
38     ~CicoNotification();
39
40     // get notfication handle
41     notification_h GetNotiHandle(void) const;
42
43     // is empty
44     bool Empty(void) const;
45
46     // get notification type
47     notification_type_e GetType(void) const;
48
49     // get private id
50     int GetPrivId(void);
51
52     // set caller package name
53     bool SetPkgname(const char *pkgname);
54
55     // get caller package name
56     const char *GetPkgname(void);
57
58     // set title
59     bool SetTitle(const char *title);
60
61     // get title
62     const char *GetTitle(void);
63
64     // set content
65     bool SetContent(const char *content);
66
67     // get content
68     const char *GetContent(void);
69
70     // set icon path
71     bool SetIconPath(const char *path);
72
73     // get icon path
74     const char *GetIconPath(void);
75
76     // set execute option
77     bool SetExecuteOption(notification_execute_type_e type,
78                           const char *text,
79                           const char *key,
80                           bundle *service_handle);
81
82     // get execute option
83     bool GetExecuteOption(notification_execute_type_e type,
84                           const char **text,
85                           bundle **service_handle);
86
87 protected:
88     // default constructor
89     CicoNotification();
90
91     // assignment operator
92     CicoNotification& operator=(const CicoNotification & object);
93
94     // copy constructor
95     CicoNotification(const CicoNotification & object);
96
97 private:
98     /// notification handle
99     notification_h m_notification;
100
101     /// notification type
102     notification_type_e m_type;
103
104     /// notification private id
105     int m_privId;
106
107     /// notification group id
108     int m_groupId;
109 };
110 #endif // __CICO_NOTIFICATION_H__
111 // vim:set expandtab ts=4 sw=4: