libweave: Remove dependency on libchromeos/chromeos/errors/error_codes.h
Codes moved into libweave.
BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave`
Change-Id: If564703f1e7d1ba354d0ee991031bbcd71f0d67c
Reviewed-on: https://chromium-review.googlesource.com/293586
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/libweave/libweave.gyp b/libweave/libweave.gyp
index e0287d7..badd394 100644
--- a/libweave/libweave.gyp
+++ b/libweave/libweave.gyp
@@ -46,6 +46,7 @@
'src/device_manager.cc',
'src/device_registration_info.cc',
'src/http_constants.cc',
+ 'src/json_error_codes.cc',
'src/notification/notification_parser.cc',
'src/notification/pull_channel.cc',
'src/notification/xml_node.cc',
diff --git a/libweave/src/commands/command_instance.cc b/libweave/src/commands/command_instance.cc
index 2b7128e..de0fdd5 100644
--- a/libweave/src/commands/command_instance.cc
+++ b/libweave/src/commands/command_instance.cc
@@ -6,7 +6,6 @@
#include <base/values.h>
#include <chromeos/errors/error.h>
-#include <chromeos/errors/error_codes.h>
#include <weave/enum_to_string.h>
#include <weave/export.h>
@@ -16,6 +15,7 @@
#include "libweave/src/commands/prop_types.h"
#include "libweave/src/commands/schema_constants.h"
#include "libweave/src/commands/schema_utils.h"
+#include "libweave/src/json_error_codes.h"
namespace weave {
@@ -147,9 +147,8 @@
if (json->Get(commands::attributes::kCommand_Parameters, ¶ms_value)) {
// Make sure the "parameters" property is actually an object.
if (!params_value->GetAsDictionary(¶ms)) {
- chromeos::Error::AddToPrintf(error, FROM_HERE,
- chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
"Property '%s' must be a JSON object",
commands::attributes::kCommand_Parameters);
return false;
@@ -185,8 +184,8 @@
// Get the command JSON object from the value.
const base::DictionaryValue* json = nullptr;
if (!value->GetAsDictionary(&json)) {
- chromeos::Error::AddTo(error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
+ chromeos::Error::AddTo(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
"Command instance is not a JSON object");
command_id->clear();
return instance;
diff --git a/libweave/src/device_registration_info.cc b/libweave/src/device_registration_info.cc
index bc738f6..59f5dde 100644
--- a/libweave/src/device_registration_info.cc
+++ b/libweave/src/device_registration_info.cc
@@ -16,7 +16,6 @@
#include <base/strings/string_number_conversions.h>
#include <base/values.h>
#include <chromeos/bind_lambda.h>
-#include <chromeos/errors/error_codes.h>
#include <chromeos/key_value_store.h>
#include <chromeos/strings/string_utils.h>
#include <chromeos/url_utils.h>
@@ -29,6 +28,7 @@
#include "libweave/src/commands/command_manager.h"
#include "libweave/src/commands/schema_constants.h"
#include "libweave/src/http_constants.h"
+#include "libweave/src/json_error_codes.h"
#include "libweave/src/notification/xmpp_channel.h"
#include "libweave/src/states/state_manager.h"
#include "libweave/src/utils.h"
@@ -168,7 +168,7 @@
.first;
if (content_type != http::kJson && content_type != http::kPlain) {
- chromeos::Error::AddTo(error, FROM_HERE, chromeos::errors::json::kDomain,
+ chromeos::Error::AddTo(error, FROM_HERE, errors::json::kDomain,
"non_json_content_type",
"Unexpected response content type: " + content_type);
return std::unique_ptr<base::DictionaryValue>();
@@ -179,9 +179,8 @@
auto value = base::JSONReader::ReadAndReturnError(json, base::JSON_PARSE_RFC,
nullptr, &error_message);
if (!value) {
- chromeos::Error::AddToPrintf(error, FROM_HERE,
- chromeos::errors::json::kDomain,
- chromeos::errors::json::kParseError,
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kParseError,
"Error '%s' occurred parsing JSON string '%s'",
error_message.c_str(), json.c_str());
return std::unique_ptr<base::DictionaryValue>();
@@ -189,8 +188,7 @@
base::DictionaryValue* dict_value = nullptr;
if (!value->GetAsDictionary(&dict_value)) {
chromeos::Error::AddToPrintf(
- error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
+ error, FROM_HERE, errors::json::kDomain, errors::json::kObjectExpected,
"Response is not a valid JSON object: '%s'", json.c_str());
return std::unique_ptr<base::DictionaryValue>();
} else {
diff --git a/libweave/src/json_error_codes.cc b/libweave/src/json_error_codes.cc
new file mode 100644
index 0000000..8b40bf0
--- /dev/null
+++ b/libweave/src/json_error_codes.cc
@@ -0,0 +1,17 @@
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "libweave/src/json_error_codes.h"
+
+namespace weave {
+namespace errors {
+
+namespace json {
+const char kDomain[] = "json_parser";
+const char kParseError[] = "json_parse_error";
+const char kObjectExpected[] = "json_object_expected";
+} // namespace json
+
+} // namespace errors
+} // namespace weave
diff --git a/libweave/src/json_error_codes.h b/libweave/src/json_error_codes.h
new file mode 100644
index 0000000..193f6b2
--- /dev/null
+++ b/libweave/src/json_error_codes.h
@@ -0,0 +1,23 @@
+// Copyright 2015 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef LIBWEAVE_SRC_JSON_ERROR_CODES_H_
+#define LIBWEAVE_SRC_JSON_ERROR_CODES_H_
+
+namespace weave {
+
+namespace errors {
+
+namespace json {
+extern const char kDomain[];
+
+extern const char kParseError[];
+extern const char kObjectExpected[];
+} // namespace json
+
+} // namespace errors
+
+} // namespace weave
+
+#endif // LIBWEAVE_SRC_JSON_ERROR_CODES_H_
diff --git a/libweave/src/states/state_manager.cc b/libweave/src/states/state_manager.cc
index 522a2ec..fa8f81e 100644
--- a/libweave/src/states/state_manager.cc
+++ b/libweave/src/states/state_manager.cc
@@ -8,10 +8,10 @@
#include <base/files/file_path.h>
#include <base/logging.h>
#include <base/values.h>
-#include <chromeos/errors/error_codes.h>
#include <chromeos/key_value_store.h>
#include <chromeos/strings/string_utils.h>
+#include "libweave/src/json_error_codes.h"
#include "libweave/src/states/error_codes.h"
#include "libweave/src/states/state_change_queue_interface.h"
#include "libweave/src/utils.h"
@@ -165,10 +165,10 @@
}
const base::DictionaryValue* package_dict = nullptr;
if (!iter.value().GetAsDictionary(&package_dict)) {
- chromeos::Error::AddToPrintf(
- error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
- "State package '%s' must be an object", package_name.c_str());
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
+ "State package '%s' must be an object",
+ package_name.c_str());
return false;
}
StatePackage* package = FindOrCreatePackage(package_name);
@@ -235,17 +235,17 @@
}
const base::DictionaryValue* package_dict = nullptr;
if (!iter.value().GetAsDictionary(&package_dict)) {
- chromeos::Error::AddToPrintf(
- error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
- "State package '%s' must be an object", package_name.c_str());
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
+ "State package '%s' must be an object",
+ package_name.c_str());
return false;
}
StatePackage* package = FindPackage(package_name);
if (package == nullptr) {
chromeos::Error::AddToPrintf(
- error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
+ error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
"Providing values for undefined state package '%s'",
package_name.c_str());
return false;
diff --git a/libweave/src/utils.cc b/libweave/src/utils.cc
index 353ea96..ea31476 100644
--- a/libweave/src/utils.cc
+++ b/libweave/src/utils.cc
@@ -7,7 +7,8 @@
#include <base/bind_helpers.h>
#include <base/files/file_util.h>
#include <base/json/json_reader.h>
-#include <chromeos/errors/error_codes.h>
+
+#include "libweave/src/json_error_codes.h"
namespace weave {
@@ -35,7 +36,6 @@
chromeos::ErrorPtr* error) {
std::string json_string;
if (!base::ReadFileToString(json_file_path, &json_string)) {
- chromeos::errors::system::AddSystemError(error, FROM_HERE, errno);
chromeos::Error::AddToPrintf(error, FROM_HERE, kErrorDomain, kFileReadError,
"Failed to read file '%s'",
json_file_path.value().c_str());
@@ -52,19 +52,17 @@
auto value = base::JSONReader::ReadAndReturnError(
json_string, base::JSON_PARSE_RFC, nullptr, &error_message);
if (!value) {
- chromeos::Error::AddToPrintf(
- error, FROM_HERE, chromeos::errors::json::kDomain,
- chromeos::errors::json::kParseError,
- "Error parsing JSON string '%s' (%zu): %s",
- LimitString(json_string, kMaxStrLen).c_str(), json_string.size(),
- error_message.c_str());
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kParseError,
+ "Error parsing JSON string '%s' (%zu): %s",
+ LimitString(json_string, kMaxStrLen).c_str(),
+ json_string.size(), error_message.c_str());
return result;
}
base::DictionaryValue* dict_value = nullptr;
if (!value->GetAsDictionary(&dict_value)) {
- chromeos::Error::AddToPrintf(error, FROM_HERE,
- chromeos::errors::json::kDomain,
- chromeos::errors::json::kObjectExpected,
+ chromeos::Error::AddToPrintf(error, FROM_HERE, errors::json::kDomain,
+ errors::json::kObjectExpected,
"JSON string '%s' is not a JSON object",
LimitString(json_string, kMaxStrLen).c_str());
return result;