return WIDGET_ERROR_NONE;
}
- array->push_back(picojson::value(instance_id));
+ picojson::object obj;
+ obj.insert(std::make_pair(kId, picojson::value(instance_id)));
+ array->push_back(picojson::value(obj));
return WIDGET_ERROR_NONE;
}
ScopeLogger();
//WIDGET_LIFE_CYCLE_EVENT_MAX event is not supported
- if (WIDGET_LIFE_CYCLE_EVENT_RESUME < lifecycle_event) {
+ if (WIDGET_LIFE_CYCLE_EVENT_RESUME < lifecycle_event || WIDGET_LIFE_CYCLE_EVENT_APP_DEAD == lifecycle_event) {
LoggerW("Unknown event type");
return WIDGET_ERROR_NONE;
}
picojson::value response = picojson::value(picojson::object());
auto& obj = response.get<picojson::object>();
- obj.insert(std::make_pair(kWidgetId, picojson::value(widget_id)));
- obj.insert(std::make_pair(kId, picojson::value(widget_instance_id)));
+ if (widget_id) {
+ obj.insert(std::make_pair(kWidgetId, picojson::value(widget_id)));
+ } else {
+ obj.insert(std::make_pair(kWidgetId, picojson::value("")));
+ }
+
+ if (widget_instance_id) {
+ obj.insert(std::make_pair(kId, picojson::value(widget_instance_id)));
+ } else {
+ obj.insert(std::make_pair(kId, picojson::value("")));
+ }
+
obj.insert(std::make_pair(kEvent, picojson::value(WidgetServiceUtils::FromEventType(lifecycle_event))));
instance->CallWidgetLifecycleListener(widget_id, response);
return WIDGET_ERROR_NONE;
}
+void bundleIterator(const char *key, const char *val, void *data) {
+ LOGD("Entered, adding key-pair value: (%s) - (%s)", key, val);
+ auto obj = static_cast<picojson::object*>(data);
+ obj->insert(std::make_pair(key, picojson::value(val)));
+}
+
} // namespace
WidgetServiceInstance::WidgetServiceInstance() {
const auto& instance_id = args.find(kInstanceId)->second.get<std::string>();
const double seconds = args.find(kSeconds)->second.get<double>();
+ if(seconds <= 0){
+ int err = WIDGET_ERROR_INVALID_PARAMETER;
+ LogAndReturnTizenError(common::InvalidValuesError(err), ("period second should be greater than zero"));
+ }
+
int ret = widget_service_change_period(widget_id.c_str(), instance_id.c_str(), seconds);
if (WIDGET_ERROR_NONE != ret) {
return;
}
- char* data_str = nullptr;
- ret = bundle_get_str(bundle_data, kData.c_str(), &data_str);
- if (BUNDLE_ERROR_NONE != ret) {
- LoggerE("bundle_get_str() failed");
- this->Post(token, common::AbortError(ret));
+ picojson::value response = picojson::value(picojson::object());
+ auto& obj = response.get<picojson::object>();
+ if (!bundle_data) {
+ LoggerE("bundle_data is null");
+ obj.insert(std::make_pair("", picojson::value("")));
+ this->Post(token, TizenSuccess{response});
return;
}
- picojson::value response;
- std::string err;
- picojson::parse(response, data_str, data_str + strlen(data_str), &err);
- if (!err.empty()) {
- LoggerE("Failed to parse bundle data() failed [%s]", err.c_str());
- this->Post(token, common::AbortError());
- return;
- }
+ bundle_iterate(bundle_data, bundleIterator, &obj);
this->Post(token, TizenSuccess{response});
};