Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: webrtc/base/json.h

Issue 2877023002: Move webrtc/{base => rtc_base} (Closed)
Patch Set: update presubmit.py and DEPS include rules Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/base/java/src/org/webrtc/ThreadUtils.java ('k') | webrtc/base/json.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_BASE_JSON_H_ 11 #ifndef WEBRTC_BASE_JSON_H_
12 #define WEBRTC_BASE_JSON_H_ 12 #define WEBRTC_BASE_JSON_H_
13 13
14 #include <string>
15 #include <vector>
16 14
17 #if !defined(WEBRTC_EXTERNAL_JSON) 15 // This header is deprecated and is just left here temporarily during
18 #include "json/json.h" 16 // refactoring. See https://bugs.webrtc.org/7634 for more details.
19 #else 17 #include "webrtc/rtc_base/json.h"
20 #include "third_party/jsoncpp/json.h"
21 #endif
22
23 namespace rtc {
24
25 ///////////////////////////////////////////////////////////////////////////////
26 // JSON Helpers
27 ///////////////////////////////////////////////////////////////////////////////
28
29 // Robust conversion operators, better than the ones in JsonCpp.
30 bool GetIntFromJson(const Json::Value& in, int* out);
31 bool GetUIntFromJson(const Json::Value& in, unsigned int* out);
32 bool GetStringFromJson(const Json::Value& in, std::string* out);
33 bool GetBoolFromJson(const Json::Value& in, bool* out);
34 bool GetDoubleFromJson(const Json::Value& in, double* out);
35
36 // Pull values out of a JSON array.
37 bool GetValueFromJsonArray(const Json::Value& in, size_t n,
38 Json::Value* out);
39 bool GetIntFromJsonArray(const Json::Value& in, size_t n,
40 int* out);
41 bool GetUIntFromJsonArray(const Json::Value& in, size_t n,
42 unsigned int* out);
43 bool GetStringFromJsonArray(const Json::Value& in, size_t n,
44 std::string* out);
45 bool GetBoolFromJsonArray(const Json::Value& in, size_t n,
46 bool* out);
47 bool GetDoubleFromJsonArray(const Json::Value& in, size_t n,
48 double* out);
49
50 // Convert json arrays to std::vector
51 bool JsonArrayToValueVector(const Json::Value& in,
52 std::vector<Json::Value>* out);
53 bool JsonArrayToIntVector(const Json::Value& in,
54 std::vector<int>* out);
55 bool JsonArrayToUIntVector(const Json::Value& in,
56 std::vector<unsigned int>* out);
57 bool JsonArrayToStringVector(const Json::Value& in,
58 std::vector<std::string>* out);
59 bool JsonArrayToBoolVector(const Json::Value& in,
60 std::vector<bool>* out);
61 bool JsonArrayToDoubleVector(const Json::Value& in,
62 std::vector<double>* out);
63
64 // Convert std::vector to json array
65 Json::Value ValueVectorToJsonArray(const std::vector<Json::Value>& in);
66 Json::Value IntVectorToJsonArray(const std::vector<int>& in);
67 Json::Value UIntVectorToJsonArray(const std::vector<unsigned int>& in);
68 Json::Value StringVectorToJsonArray(const std::vector<std::string>& in);
69 Json::Value BoolVectorToJsonArray(const std::vector<bool>& in);
70 Json::Value DoubleVectorToJsonArray(const std::vector<double>& in);
71
72 // Pull values out of a JSON object.
73 bool GetValueFromJsonObject(const Json::Value& in, const std::string& k,
74 Json::Value* out);
75 bool GetIntFromJsonObject(const Json::Value& in, const std::string& k,
76 int* out);
77 bool GetUIntFromJsonObject(const Json::Value& in, const std::string& k,
78 unsigned int* out);
79 bool GetStringFromJsonObject(const Json::Value& in, const std::string& k,
80 std::string* out);
81 bool GetBoolFromJsonObject(const Json::Value& in, const std::string& k,
82 bool* out);
83 bool GetDoubleFromJsonObject(const Json::Value& in, const std::string& k,
84 double* out);
85
86 // Writes out a Json value as a string.
87 std::string JsonValueToString(const Json::Value& json);
88
89 } // namespace rtc
90 18
91 #endif // WEBRTC_BASE_JSON_H_ 19 #endif // WEBRTC_BASE_JSON_H_
OLDNEW
« no previous file with comments | « webrtc/base/java/src/org/webrtc/ThreadUtils.java ('k') | webrtc/base/json.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698