[Widget] Added ChangeUpdatePeriod() implementation.
authorTomasz Marciniak <t.marciniak@samsung.com>
Mon, 7 Mar 2016 08:47:03 +0000 (09:47 +0100)
committerLukasz Bardeli <l.bardeli@samsung.com>
Thu, 14 Apr 2016 09:32:16 +0000 (11:32 +0200)
[Verification] Code compiles.

Change-Id: I043f6f20e4ccfe29a449234dc0bd97bab65bb584
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/widget/widget_instance.cc

index f429259296abdd399dbee6f989997220dae8f4c9..1a7bbc685681ae8ca2af777e3d1c2e39286cf8a2 100755 (executable)
@@ -34,6 +34,8 @@ namespace {
 const std::string kPrivilegeWidget = "http://tizen.org/privilege/widget.viewer";
 
 const std::string kLang = "lang";
+const std::string kInstanceId = "instanceId";
+const std::string kPeriod = "period";
 
 int WidgetListCb(const char* pkgid, const char* widget_id, int is_primary, void* data) {
   ScopeLogger();
@@ -395,7 +397,22 @@ TizenResult WidgetInstance::RemoveChangeListener(picojson::object const& args) {
 TizenResult WidgetInstance::ChangeUpdatePeriod(picojson::object const& args) {
   ScopeLogger();
 
-  return common::NotSupportedError();
+  CHECK_EXIST(args, kWidgetId, out)
+  CHECK_EXIST(args, kInstanceId, out)
+  CHECK_EXIST(args, kPeriod, out)
+
+  const auto& widget_id = args.find(kWidgetId)->second.get<std::string>();
+  const auto& instance_id = args.find(kInstanceId)->second.get<std::string>();
+  const double period = args.find(kPeriod)->second.get<double>();
+
+  int ret = widget_service_change_period(widget_id.c_str(), instance_id.c_str(), period);
+
+  if (WIDGET_ERROR_NONE != ret) {
+    LogAndReturnTizenError(
+        WidgetUtils::ConvertErrorCode(ret), ("widget_service_change_period() failed"));
+  }
+
+  return TizenSuccess();
 }
 
 TizenResult WidgetInstance::SendContent(picojson::object const& args) {