#define ABSTRACT_ITEM_TYPE_KEY "__ABSTRACT_ITEM_TYPE_KEY__"
#define ABSTRACT_ITEM_ID_KEY "__ABSTRACT_ITEM_ID_KEY__"
#define ABSTRACT_ITEM_UID_KEY "__ABSTRACT_ITEM_UID_KEY__"
-#define ABSTRACT_ITEM_REQUEST_ID_KEY "__ABSTRACT_ITEM_REQUEST_ID_KEY__"
#define ABSTRACT_ITEM_TIME_KEY "__ABSTRACT_ITEM_TIME_KEY__"
#define ABSTRACT_ITEM_SENDER_APPID_KEY "__ABSTRACT_ITEM_SENDER_APPID_KEY__"
#define ABSTRACT_ITEM_CHANNEL_KEY "__ABSTRACT_ITEM_CHANNEL_KEY__"
#define ABSTRACT_ITEM_LED_COLOR_B_KEY "__ABSTRACT_ITEM_LED_COLOR_B_KEY__"
#define ABSTRACT_ITEM_LED_IS_EXIST_KEY "__ABSTRACT_ITEM_LED_IS_EXIST_KEY__"
#define ABSTRACT_ITEM_ACTION_KEY "__ABSTRACT_ITEM_ACTION_KEY__"
+#define ABSTRACT_ITEM_HIDE_VIEWER_KEY "__ABSTRACT_ITEM_HIDE_VIEWER_KEY__"
#define ABSTRACT_ITEM_TRUE "TRUE"
using namespace std;
b.Add(ABSTRACT_ITEM_HIDE_TIME_KEY, to_string(impl_->hide_time_));
b.Add(ABSTRACT_ITEM_DELETE_TIME_KEY, to_string(impl_->delete_time_));
b.Add(ABSTRACT_ITEM_UID_KEY, to_string(impl_->uid_));
- b.Add(ABSTRACT_ITEM_REQUEST_ID_KEY, to_string(impl_->request_id_));
timeinfo = localtime(&impl_->time_);
strftime (buf, sizeof(buf), "%s", timeinfo);
b.Add(ABSTRACT_ITEM_VIBRATION_PATH_KEY, impl_->vibration_path_);
b.Add(ABSTRACT_ITEM_VISIBLE_KEY, to_string((int)impl_->visible_));
-
b.Add(ABSTRACT_ITEM_ENABLE_KEY, to_string((int)impl_->enable_));
-
b.Add(ABSTRACT_ITEM_POLICY_KEY, to_string((int)impl_->policy_));
if (impl_->receiver_group_list_.size() != 0) {
reinterpret_cast<char*>(impl_->action_->Serialize().ToRaw().first.get()));
}
+ if (impl_->hide_viewer_list_.size() != 0) {
+ vector<string> arr;
+
+ for (auto& i : impl_->hide_viewer_list_) {
+ string viewer = i;
+
+ arr.push_back(viewer);
+ }
+ b.Add(ABSTRACT_ITEM_HIDE_VIEWER_KEY, arr);
+ }
+
return b;
}
impl_->sound_path_ = b.GetString(ABSTRACT_ITEM_SOUND_PATH_KEY);
impl_->vibration_path_ = b.GetString(ABSTRACT_ITEM_VIBRATION_PATH_KEY);
impl_->uid_ = stoi(b.GetString(ABSTRACT_ITEM_UID_KEY));
- impl_->request_id_ = stoi(b.GetString(ABSTRACT_ITEM_REQUEST_ID_KEY));
time_s = b.GetString(ABSTRACT_ITEM_TIME_KEY);
strptime(time_s.c_str(), "%s", &timeinfo);
impl_->enable_ = (bool)stoi(b.GetString(ABSTRACT_ITEM_ENABLE_KEY));
- vector<string> str_arr = b.GetStringArray(ABSTRACT_ITEM_RECEIVER_GROUP_KEY);
-
- if (str_arr.size() != 0) {
- for (string str : str_arr) {
+ vector<string> receiver_group = b.GetStringArray(ABSTRACT_ITEM_RECEIVER_GROUP_KEY);
+ if (receiver_group.size() != 0) {
+ for (string str : receiver_group) {
impl_->receiver_group_list_.push_back(str);
}
}
}
string action_str = b.GetString(ABSTRACT_ITEM_ACTION_KEY);
-
if (!action_str.empty())
impl_->action_ = ActionInflator::Create(Bundle(action_str));
+
+ vector<string> hide_viewer = b.GetStringArray(ABSTRACT_ITEM_HIDE_VIEWER_KEY);
+ if (hide_viewer.size() != 0) {
+ for (string str : hide_viewer) {
+ impl_->hide_viewer_list_.push_back(str);
+ }
+ }
}
string AbstractItem::GetId() const {
impl_->sender_appid_ = sender_appid;
}
-time_t AbstractItem::GetTime() {
- return impl_->time_;
-}
-
-int AbstractItem::GetUid() {
- return impl_->uid_;
-}
-
-void AbstractItem::SetUid(int uid) {
- impl_->uid_ = uid;
-}
-
} // namespace item
} // namespace notification
void SetSenderAppId(std::string sender_appid);
std::string GetTag();
void SetTag();
- time_t GetTime();
- int GetUid();
- void SetUid(int uid);
private:
class Impl;
#ifndef NOTIFICATION_EX_IITEM_INFO_H_
#define NOTIFICATION_EX_IITEM_INFO_H_
+#include <time.h>
+
namespace notification {
namespace item {
class EXPORT_API IItemInfo {
public:
virtual ~IItemInfo() = default;
- virtual int GetVersion() const = 0;
- virtual void SetVersion(int ver) = 0;
+ virtual int GetHideTime() const = 0;
+ virtual void SetHideTime(int hide_time) = 0;
+ virtual int GetDeleteTime() const = 0;
+ virtual void SetDeleteTime(int delete_time) = 0;
+ virtual time_t GetTime() const = 0;
};
} // namespace item
class EXPORT_API IItemInfoInternal : public IItemInfo {
public:
virtual ~IItemInfoInternal() = default;
- virtual void SetHideTime(int hide_time) = 0;
- virtual int GetHideTime() const = 0;
- virtual void SetDeleteTime(int delete_time) = 0;
- virtual int GetDeleteTime() const = 0;
+ virtual int GetUid() const = 0;
+ virtual void SetUid(int uid) = 0;
+ virtual int GetVersion() const = 0;
+ virtual void SetVersion(int ver) = 0;
virtual void AddHideViewer(std::string appid) = 0;
- virtual void RemoveHideViewer(std::string appid) = 0;
virtual std::list<std::string> GetHideViewerList() const = 0;
+ virtual void SetTime(time_t time) = 0;
};
} // namespace item
AbstractItem::Impl::ItemInfo::ItemInfo(AbstractItem::Impl* impl) : impl_(impl) {
}
+int AbstractItem::Impl::ItemInfo::GetUid() const {
+ return impl_->uid_;
+}
+
+void AbstractItem::Impl::ItemInfo::SetUid(int uid) {
+ impl_->uid_ = uid;
+}
+
+time_t AbstractItem::Impl::ItemInfo::GetTime() const {
+ return impl_->time_;
+}
+
+void AbstractItem::Impl::ItemInfo::SetTime(time_t time) {
+ impl_->time_ = time;
+}
int AbstractItem::Impl::ItemInfo::GetVersion() const {
return impl_->version_;
impl_->hide_viewer_list_.push_back(appid);
}
-void AbstractItem::Impl::ItemInfo::RemoveHideViewer(std::string appid) {
- impl_->hide_viewer_list_.remove(appid);
-}
-
std::list<std::string> AbstractItem::Impl::ItemInfo::GetHideViewerList() const {
return impl_->hide_viewer_list_;
}
public:
ItemInfo(AbstractItem::Impl* impl);
virtual ~ItemInfo() = default;
+ int GetUid() const override;
+ void SetUid(int uid) override;
+ time_t GetTime() const override;
+ void SetTime(time_t time) override;
int GetVersion() const override;
void SetVersion(int ver) override;
void SetHideTime(int hide_time) override;
void SetDeleteTime(int delete_time) override;
int GetDeleteTime() const override;
void AddHideViewer(std::string appid) override;
- void RemoveHideViewer(std::string appid) override;
std::list<std::string> GetHideViewerList() const override;
private:
/* Serialize */
app_control_h app_control;
char* app_id = NULL;
+ time_t current_time;
app_control_create(&app_control);
app_control_set_app_id(app_control, "new_appid");
item.SetEnable(false);
item.AddReceiver("receiver_1");
item.AddReceiver("receiver_2");
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->AddHideViewer("hide_1");
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->AddHideViewer("hide_2");
item.SetPolicy(AbstractItem::Policy::OnBootClear);
- item.GetInfo()->SetVersion(3);
- std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->SetHideTime(5);
- std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->SetDeleteTime(9);
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->SetVersion(3);
+ item.GetInfo()->SetHideTime(5);
+ item.GetInfo()->SetDeleteTime(9);
item.SetChannel("channel99");
item.SetSoundPath("soundpath");
item.SetVibrationPath("vibrationpath");
- item.SetUid(3);
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->SetUid(3);
item.SetSenderAppId("sender");
+ time(¤t_time);
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->SetTime(current_time);
+
Color color2(150, 160, 170, 180);
std::shared_ptr<LEDInfo> led = std::make_shared<LEDInfo>(color2);
ASSERT_EQ(gen_test->GetId(), "test_id");
ASSERT_EQ(gen_test->GetType(), MY_ITEM_TYPE);
- ASSERT_EQ(gen_test->GetUid(), 3);
+ ASSERT_EQ(std::static_pointer_cast<IItemInfoInternal>(gen_test->GetInfo())->GetUid(), 3);
ASSERT_EQ(gen_test->GetEnable(), false);
ASSERT_EQ(gen_test->GetVisible(),false);
ASSERT_EQ(gen_test->GetPolicy(), AbstractItem::Policy::OnBootClear);
- ASSERT_EQ(gen_test->GetInfo()->GetVersion(), 3);
- ASSERT_EQ(std::static_pointer_cast<IItemInfoInternal>(gen_test->GetInfo())->GetHideTime(), 5);
- ASSERT_EQ(std::static_pointer_cast<IItemInfoInternal>(gen_test->GetInfo())->GetDeleteTime(), 9);
+ ASSERT_EQ(std::static_pointer_cast<IItemInfoInternal>(gen_test->GetInfo())->GetVersion(), 3);
+ ASSERT_EQ(gen_test->GetInfo()->GetHideTime(), 5);
+ ASSERT_EQ(gen_test->GetInfo()->GetDeleteTime(), 9);
ASSERT_EQ(gen_test->GetChannel(), "channel99");
ASSERT_EQ(gen_test->GetSoundPath(), "soundpath");
ASSERT_EQ(gen_test->GetVibrationPath(), "vibrationpath");
ASSERT_EQ(gen_test->GetSenderAppId(), "sender");
- ASSERT_EQ(gen_test->GetTime(), 0);
+ ASSERT_EQ(gen_test->GetInfo()->GetTime(), current_time);
ASSERT_EQ(gen_test->GetStyle()->GetPadding().GetLeft(), 10);
ASSERT_EQ(gen_test->GetStyle()->GetPadding().GetTop(), 20);
receiver2.pop_front();
}
+ std::list<std::string> hide1 =
+ std::static_pointer_cast<IItemInfoInternal>(item.GetInfo())->GetHideViewerList();
+ std::list<std::string> hide2 =
+ std::static_pointer_cast<IItemInfoInternal>(gen_test->GetInfo())->GetHideViewerList();
+
+ ASSERT_EQ(hide1.size(), hide2.size());
+
+ for (unsigned int i = 0; i < hide1.size(); i++) {
+ ASSERT_EQ(hide1.front(), hide2.front());
+ hide1.pop_front();
+ hide2.pop_front();
+ }
+
ASSERT_EQ(gen_test->GetAction()->GetType(), AbstractAction::Type::AppControl);
std::shared_ptr<AppControlAction> ac =