[Websetting] Removed try/catch error handling
authorRyszard Matuszyk <r.matuszyk@samsung.com>
Mon, 16 Feb 2015 15:06:04 +0000 (16:06 +0100)
committerPawel Sikorski <p.sikorski@samsung.com>
Thu, 19 Feb 2015 08:42:01 +0000 (17:42 +0900)
[Verification] Related TCT should pass

Change-Id: I6b6add2ed2dd0ff3249732cc259d8dbbe650efe6
Signed-off-by: Ryszard Matuszyk <r.matuszyk@samsung.com>
src/websetting/websetting_instance.cc

index fbe96a4..d255c6c 100644 (file)
@@ -10,7 +10,7 @@
 #include "common/logger.h"
 #include "common/picojson.h"
 #include "common/task-queue.h"
-#include "common/platform_exception.h"
+#include "common/scope_exit.h"
 
 namespace {
 // The privileges that required in Websetting API
@@ -22,6 +22,8 @@ const char kWrtServiceName[] = "wrt-service";
 namespace extension {
 namespace websetting {
 
+using namespace common;
+
 typedef picojson::value JsonValue;
 typedef picojson::object JsonObject;
 typedef picojson::array JsonArray;
@@ -37,27 +39,28 @@ WebSettingInstance::WebSettingInstance(WebSettingExtension* extension) : extensi
 
 WebSettingInstance::~WebSettingInstance() {}
 
-void WebSettingInstance::WebSettingManagerSetUserAgentString(const picojson::value& args,
-                                                             picojson::object& out) {
+void WebSettingInstance::WebSettingManagerSetUserAgentString(
+    const picojson::value& args, picojson::object& out) {
   const double callback_id = args.get("callbackId").get<double>();
-  auto get = [=](const std::shared_ptr<JsonValue>& response)->void {
-    try {
-      const char* runtime_name = common::Extension::GetRuntimeVariable("runtime_name", 64).c_str();
-      LoggerD("runtime_name: %s", runtime_name);
-      if (strcmp(runtime_name, kWrtServiceName) == 0) {
-        throw common::NotSupportedException("Not Implemented");
-      }
-
-      std::string userAgent = args.get("userAgentStr").to_str();
-      extension_->current_app()->SetUserAgentString(userAgent).release();
-      ReportSuccess(response->get<picojson::object>());
-    }
-    catch (const common::PlatformException& e) {
-      ReportError(e, response->get<picojson::object>());
+  auto get = [=](const std::shared_ptr<JsonValue>& response) -> void {
+    const char* runtime_name =
+        common::Extension::GetRuntimeVariable("runtime_name", 64).c_str();
+    LoggerD("runtime_name: %s", runtime_name);
+    if (strcmp(runtime_name, kWrtServiceName) == 0) {
+      ReportError(
+          PlatformResult(ErrorCode::NOT_SUPPORTED_ERR, "Not Implemented"),
+          &response->get<picojson::object>());
+      return;
     }
+
+    std::string userAgent = args.get("userAgentStr").to_str();
+    extension_->current_app()->SetUserAgentString(userAgent).release();
+
+    ReportSuccess(response->get<picojson::object>());
   };
 
-  auto get_response = [callback_id, this](const std::shared_ptr<JsonValue>& response)->void {
+  auto get_response =
+      [callback_id, this](const std::shared_ptr<JsonValue>& response) -> void {
     picojson::object& obj = response->get<picojson::object>();
     obj.insert(std::make_pair("callbackId", picojson::value(callback_id)));
     LoggerD("callback is %s", response->serialize().c_str());
@@ -65,29 +68,30 @@ void WebSettingInstance::WebSettingManagerSetUserAgentString(const picojson::val
   };
 
   common::TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response, std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response,
+      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
 }
 
-void WebSettingInstance::WebSettingManagerRemoveAllCookies(const picojson::value& args,
-                                                           picojson::object& out) {
+void WebSettingInstance::WebSettingManagerRemoveAllCookies(
+    const picojson::value& args, picojson::object& out) {
   const double callback_id = args.get("callbackId").get<double>();
-  auto get = [=](const std::shared_ptr<JsonValue>& response)->void {
-    try {
-      const char* runtime_name = common::Extension::GetRuntimeVariable("runtime_name", 64).c_str();
-      LoggerD("runtime_name: %s", runtime_name);
-      if (strcmp(runtime_name, kWrtServiceName) == 0) {
-        throw common::NotSupportedException("Not Implemented");
-      }
-
-      extension_->current_app()->RemoveAllCookies().release();
-      ReportSuccess(response->get<picojson::object>());
-    }
-    catch (const common::PlatformException& e) {
-      ReportError(e, response->get<picojson::object>());
+  auto get = [=](const std::shared_ptr<JsonValue>& response) -> void {
+    const char* runtime_name =
+        common::Extension::GetRuntimeVariable("runtime_name", 64).c_str();
+    LoggerD("runtime_name: %s", runtime_name);
+    if (strcmp(runtime_name, kWrtServiceName) == 0) {
+      ReportError(
+          PlatformResult(ErrorCode::NOT_SUPPORTED_ERR, "Not Implemented"),
+          &response->get<picojson::object>());
+      return;
     }
+
+    extension_->current_app()->RemoveAllCookies().release();
+    ReportSuccess(response->get<picojson::object>());
   };
 
-  auto get_response = [callback_id, this](const std::shared_ptr<JsonValue>& response)->void {
+  auto get_response =
+      [callback_id, this](const std::shared_ptr<JsonValue>& response) -> void {
     picojson::object& obj = response->get<picojson::object>();
     obj.insert(std::make_pair("callbackId", picojson::value(callback_id)));
     LoggerD("callback is %s", response->serialize().c_str());
@@ -95,7 +99,8 @@ void WebSettingInstance::WebSettingManagerRemoveAllCookies(const picojson::value
   };
 
   common::TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response, std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response,
+      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
 }
 
 }  // namespace websetting