char* temp = nullptr;
int ret = push_service_get_notification_data(noti, &temp);
if (ret != PUSH_SERVICE_ERROR_NONE) {
- LoggerE("Failed to get appData");
- return;
+ if (ret == PUSH_SERVICE_ERROR_NO_DATA) {
+ LoggerI("push_service_get_notification_data return PUSH_SERVICE_ERROR_NO_DATA");
+ (*obj)["appData"] = picojson::value("");
+ } else {
+ LoggerE("Failed to get appData");
+ return;
+ }
+ } else {
+ (*obj)["appData"] = picojson::value(temp);
+ free(temp);
}
- (*obj)["appData"] = picojson::value(temp);
- free(temp);
char* fullMessage = nullptr;
ret = push_service_get_notification_message(noti, &fullMessage);
if (ret != PUSH_SERVICE_ERROR_NONE) {
- LoggerE("Failed to get message");
- return;
- }
- (*obj)["message"] = picojson::value(fullMessage);
-
- // parse query string and find value for alertMessage
- pcrecpp::StringPiece input(fullMessage);
- pcrecpp::RE re("([^=]+)=([^&]*)&?");
- string key;
- string value;
- while (re.Consume(&input, &key, &value)) {
- if (key == "alertMessage") {
- (*obj)["alertMessage"] = picojson::value(value);
- break;
+ if (ret == PUSH_SERVICE_ERROR_NO_DATA) {
+ LoggerI("push_service_get_notification_message return PUSH_SERVICE_ERROR_NO_DATA");
+ (*obj)["message"] = picojson::value("");
+ } else {
+ LoggerE("Failed to get message");
+ return;
+ }
+ } else {
+ (*obj)["message"] = picojson::value(fullMessage);
+ // parse query string and find value for alertMessage
+ pcrecpp::StringPiece input(fullMessage);
+ pcrecpp::RE re("([^=]+)=([^&]*)&?");
+ string key;
+ string value;
+ while (re.Consume(&input, &key, &value)) {
+ if (key == "alertMessage") {
+ (*obj)["alertMessage"] = picojson::value(value);
+ break;
+ }
}
+ free(fullMessage);
}
- free(fullMessage);
long long int date = -1;
ret = push_service_get_notification_time(noti, &date);
ret = push_service_get_notification_sender(noti, &temp);
if (ret != PUSH_SERVICE_ERROR_NONE) {
- LoggerE("Failed to get sender");
- return;
+ if (ret == PUSH_SERVICE_ERROR_NO_DATA) {
+ LoggerI("push_service_get_notification_sender return PUSH_SERVICE_ERROR_NO_DATA");
+ (*obj)["sender"] = picojson::value("");
+ } else {
+ LoggerE("Failed to get sender");
+ return;
+ }
+ } else {
+ (*obj)["sender"] = picojson::value(temp);
+ free(temp);
}
- (*obj)["sender"] = picojson::value(temp);
- free(temp);
ret = push_service_get_notification_session_info(noti, &temp);
if (ret != PUSH_SERVICE_ERROR_NONE) {
- LoggerE("Failed to get session info");
- return;
+ if (ret == PUSH_SERVICE_ERROR_NO_DATA) {
+ LoggerI("push_service_get_notification_session_info return PUSH_SERVICE_ERROR_NO_DATA");
+ (*obj)["sessionInfo"] = picojson::value("");
+ } else {
+ LoggerE("Failed to get session info");
+ return;
+ }
+ } else {
+ (*obj)["sessionInfo"] = picojson::value(temp);
+ free(temp);
}
- std::string session_info = temp;
- (*obj)["sesionInfo"] = picojson::value(temp);
- free(temp);
ret = push_service_get_notification_request_id(noti, &temp);
if (ret != PUSH_SERVICE_ERROR_NONE) {
}
(*obj)["requestId"] = picojson::value(temp);
free(temp);
-
- int type;
- ret = push_service_get_notification_type(noti, &type);
- if (ret != PUSH_SERVICE_ERROR_NONE) {
- LoggerE("Failed to get type");
- return;
- }
- (*obj)["type"] = picojson::value(static_cast<double>(type));
}
// 3.0 version errors mappings