2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #ifndef __TIZEN_STATUS_NOTIFICATION_H__
19 #define __TIZEN_STATUS_NOTIFICATION_H__
21 #include <MultiCallbackUserData.h>
24 #include <notification.h>
26 #include <JSApplicationControl.h>
27 #include "NotificationTypes.h"
28 #include "NotificationDetailInfo.h"
30 using namespace DeviceAPI::Common;
33 namespace Notification {
35 class StatusNotification
39 StatusNotification(NotificationType type); //type.
40 StatusNotification(void* noti); // notification
41 StatusNotification(int privID); //private ID of Notification.
43 ~StatusNotification();
46 NotificationProgressType getProgressType()
48 return m_progressType;
50 void setProgressType( NotificationProgressType type)
52 m_progressType = type;
56 std::string getEnumProgressType();
59 void setUpdatedFlag(bool value)
63 m_notiUpdated = value;
76 void setLaunchFlag(bool value)
81 NotificationType getNotiType()
86 void setNotiType(NotificationType type)
92 std::string getStatusType();
93 void setStatusType(std::string type);
95 time_t getPostedTime();
96 std::string getTitle();
97 void setTitle(std::string title);
99 std::string getContent();
100 char* getStrContent();
101 void setContent(std::string content);
103 std::string getIconPath() ;
104 void setIconPath(const std::string& iconPath) ;
106 std::string getSoundPath() ;
107 void setSoundPath(const std::string& sound) ;
109 bool getDefaultVibration() ;
110 void setDefaultVibration(const bool& vibration) ;
112 NotificationProgressType getProgressType();
113 void setProgressType(NotificationProgressType type);
115 double getProgressValue() ;
116 void setProgressValue(const double & progressValue);
118 std::string getSubIconPath() ;
119 void setSubIconPath(const std::string& subIconPath) ;
122 std::vector<std::string> getInformations() ;
123 std::string getInformation(int index) ;
124 void setInformations(std::vector<std::string>& infos) ;
125 void setInformation( const std::string& info, int index) ;
127 std::vector<std::string> getSubInformations() ;
128 std::string getSubInformation(int index) ;
129 void setSubInformations(std::vector<std::string>& infos) ;
130 void setSubInformation( const std::string& info, int index) ;
133 std::vector<std::string> getThumbnails();
134 void setThumbnails(std::vector<std::string> thumbs);
136 std::string getBackground() ;
137 void setBackground(const std::string imagePath) ;
140 const char* getStrNumber() ;
141 void setNumber(const long number) ;
143 //void setStatusType(NotificationType type);
144 DeviceAPI::Application::ApplicationControlPtr getApplicationControl();
145 void setApplicationControl(DeviceAPI::Application::ApplicationControlPtr control);
146 void setApplicationId(const std::string& appId);
147 std::string getApplicationId();
149 void* getNotificationHandle();
150 void setNotificationHandle(void *handle);
152 service_h getService();
155 std::vector<NotificationDetailInfo*> getDetailInfos() const;
156 void setDetailInfos(const std::vector<NotificationDetailInfo*> value);
157 int getDetailInfosNum() const;
158 void addDetailInfo(NotificationDetailInfo* value);
159 void clearDetailInfos();
163 void loadThumbnails();
164 void setThumbnail( const std::string& info, int index);
165 std::string getThumbnail(int index);
167 std::string getInformation(int index) ;
168 void setInformation( const std::string& info, int index) ;
170 std::string getSubInformation(int index) ;
171 void setSubInformation( const std::string& info, int index) ;
173 void loadDetailInfos();
177 NotificationType m_notiType;
179 notification_h m_notiHandle;
180 NotificationProgressType m_progressType;
184 std::vector<std::string> m_thumbs; //thumbnail images path
185 std::vector<NotificationDetailInfo*> m_detailInfos; // detail Info
192 #endif // __TIZEN_STATUS_NOTIFICATION_H__