1 // Copyright 2015 The Weave Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef LIBWEAVE_SRC_UTILS_H_
6 #define LIBWEAVE_SRC_UTILS_H_
7 
8 #include <memory>
9 #include <string>
10 
11 #include <base/values.h>
12 #include <weave/error.h>
13 
14 namespace weave {
15 
16 namespace errors {
17 extern const char kSchemaError[];
18 extern const char kInvalidCategoryError[];
19 extern const char kInvalidPackageError[];
20 }  // namespace errors
21 
22 // kDefaultCategory represents a default state property category for standard
23 // properties from "base" package which are provided by buffet and not any of
24 // the daemons running on the device.
25 const char kDefaultCategory[] = "";
26 
27 // Helper function to load a JSON dictionary from a string.
28 std::unique_ptr<base::DictionaryValue> LoadJsonDict(
29     const std::string& json_string,
30     ErrorPtr* error);
31 
32 std::unique_ptr<base::DictionaryValue> ErrorInfoToJson(const Error& error);
33 
34 }  // namespace weave
35 
36 #endif  // LIBWEAVE_SRC_UTILS_H_
37