#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
namespace extension {
namespace websetting {
+using namespace common;
+
typedef picojson::value JsonValue;
typedef picojson::object JsonObject;
typedef picojson::array JsonArray;
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());
};
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());
};
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