diff options
author | SukHyung, Kang <shine.kang@samsung.com> | 2019-03-08 16:57:43 +0900 |
---|---|---|
committer | SukHyung, Kang <shine.kang@samsung.com> | 2019-03-08 16:57:43 +0900 |
commit | 962d5856d1cc3b38d0d4322d431f23ea70a52fe2 (patch) | |
tree | 325b90287635edf1e5127836f18d54ddaeba1422 | |
parent | 0021785850eafafe3771eec9708f1dc1dbff0170 (diff) | |
download | notification-private/for/tizen.tar.gz notification-private/for/tizen.tar.bz2 notification-private/for/tizen.zip |
Add Serialize/Deserialize for AbstractItemprivate/for/tizen
Change-Id: I2dbe4f957d6c5d55722eb1c339e10782fc5a7e52
Signed-off-by: SukHyung, Kang <shine.kang@samsung.com>
-rw-r--r-- | notification-ex/abstract_item.cc | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/notification-ex/abstract_item.cc b/notification-ex/abstract_item.cc index c6397a2..2da1b9f 100644 --- a/notification-ex/abstract_item.cc +++ b/notification-ex/abstract_item.cc @@ -31,6 +31,18 @@ #define ABSTRACT_ITEM_TYPE_KEY "__ABSTRACT_ITEM_TYPE_KEY__" #define ABSTRACT_ITEM_ID_KEY "__ABSTRACT_ITEM_ID_KEY__" +#define ABSTRACT_ITEM_CHANNEL_KEY "__ABSTRACT_ITEM_CHANNEL_KEY__" +#define ABSTRACT_ITEM_VERSION_KEY "__ABSTRACT_ITEM_VERSION_KEY__" +#define ABSTRACT_ITEM_HIDE_TIME_KEY "__ABSTRACT_ITEM_HIDE_TIME_KEY__" +#define ABSTRACT_ITEM_DELETE_TIME_KEY "__ABSTRACT_ITEM_DELETE_TIME_KEY__" +#define ABSTRACT_ITEM_CAN_RECEIVE_KEY "__ABSTRACT_ITEM_CAN_RECEIVE_KEY__" +#define ABSTRACT_ITEM_SOUND_PATH_KEY "__ABSTRACT_ITEM_SOUND_PATH_KEY__" +#define ABSTRACT_ITEM_VIBRATION_PATH_KEY "__ABSTRACT_ITEM_VIBRATION_PATH_KEY__" +#define ABSTRACT_ITEM_POLICY_KEY "__ABSTRACT_ITEM_POLICY_KEY__" +#define ABSTRACT_ITEM_VISIBLE_KEY "__ABSTRACT_ITEM_VISIBLE_KEY__" +#define ABSTRACT_ITEM_ENABLE_KEY "__ABSTRACT_ITEM_ENABLE_KEY__" +#define ABSTRACT_ITEM_TRUE "TRUE" +#define ABSTRACT_ITEM_FALSE "FALSE" using namespace std; namespace notification { @@ -62,8 +74,36 @@ AbstractItem::~AbstractItem() = default; Bundle AbstractItem::Serialize() { Bundle b; + + if (!impl_->id_.empty()) + b.Add(ABSTRACT_ITEM_ID_KEY, impl_->id_); + + if (!impl_->channel_.empty()) + b.Add(ABSTRACT_ITEM_CHANNEL_KEY, impl_->channel_); + b.Add(ABSTRACT_ITEM_TYPE_KEY, to_string((int)impl_->type_)); - b.Add(ABSTRACT_ITEM_ID_KEY, impl_->id_); + + b.Add(ABSTRACT_ITEM_VERSION_KEY, to_string((int)impl_->version_)); + b.Add(ABSTRACT_ITEM_HIDE_TIME_KEY, to_string((int)impl_->hide_time_)); + b.Add(ABSTRACT_ITEM_DELETE_TIME_KEY, to_string((int)impl_->delete_time_)); + + if (!impl_->can_receive_.empty()) + b.Add(ABSTRACT_ITEM_CAN_RECEIVE_KEY, impl_->can_receive_); + + if (!impl_->sound_path_.empty()) + b.Add(ABSTRACT_ITEM_SOUND_PATH_KEY, impl_->sound_path_); + + if (!impl_->vibration_path_.empty()) + b.Add(ABSTRACT_ITEM_VIBRATION_PATH_KEY, impl_->vibration_path_); + + b.Add(ABSTRACT_ITEM_VISIBLE_KEY, impl_->visible_ ? + ABSTRACT_ITEM_TRUE : ABSTRACT_ITEM_FALSE); + + b.Add(ABSTRACT_ITEM_ENABLE_KEY, impl_->enable_ ? + ABSTRACT_ITEM_TRUE : ABSTRACT_ITEM_FALSE); + + b.Add(ABSTRACT_ITEM_POLICY_KEY, to_string((int)impl_->policy_)); + return b; } @@ -75,6 +115,22 @@ void AbstractItem::Deserialize(Bundle b) { string id_str = b.GetString(ABSTRACT_ITEM_ID_KEY); impl_->id_ = id_str; impl_->type_ = static_cast<AbstractItem::Type>(strtol(type_str.c_str(), NULL, 10)); + + impl_->channel_ = b.GetString(ABSTRACT_ITEM_CHANNEL_KEY); + impl_->version_ = stoi(b.GetString(ABSTRACT_ITEM_VERSION_KEY)); + impl_->hide_time_ = stoi(b.GetString(ABSTRACT_ITEM_HIDE_TIME_KEY)); + impl_->delete_time_ = stoi(b.GetString(ABSTRACT_ITEM_DELETE_TIME_KEY)); + impl_->can_receive_ = b.GetString(ABSTRACT_ITEM_CAN_RECEIVE_KEY); + impl_->sound_path_ = b.GetString(ABSTRACT_ITEM_SOUND_PATH_KEY); + impl_->vibration_path_ = b.GetString(ABSTRACT_ITEM_VIBRATION_PATH_KEY); + + string policy_str = b.GetString(ABSTRACT_ITEM_POLICY_KEY); + + impl_->policy_ = static_cast<Policy>(stoi(policy_str)); + + impl_->visible_ = (b.GetString(ABSTRACT_ITEM_VISIBLE_KEY) == ABSTRACT_ITEM_TRUE); + + impl_->enable_ = (b.GetString(ABSTRACT_ITEM_ENABLE_KEY) == ABSTRACT_ITEM_TRUE); } string AbstractItem::GetId() const { |