Index: tools/json_schema_compiler/util.h |
diff --git a/tools/json_schema_compiler/util.h b/tools/json_schema_compiler/util.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..07e12dc45e1ccdfbcd1f291229265531575f5d16 |
--- /dev/null |
+++ b/tools/json_schema_compiler/util.h |
@@ -0,0 +1,52 @@ |
+// Copyright (c) 2012 The Chromium 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 TOOLS_JSON_SCHEMA_COMPILER_UTIL_H__ |
+#define TOOLS_JSON_SCHEMA_COMPILER_UTIL_H__ |
+#pragma once |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/memory/scoped_ptr.h" |
+ |
+namespace base { |
+class DictionaryValue; |
+} |
+ |
+namespace json_schema_compiler { |
+namespace util { |
+ |
+// Adds string |from|.|name| to |out|. Returns false if there is no |
+// list at the specified key or if the list has anything other than strings. |
+bool GetStrings( |
+ const base::DictionaryValue& from, |
+ const std::string& name, |
+ std::vector<std::string>* out); |
+ |
+// Adds string |from|.|name| to |out|. Returns true on success or |
+// if there is nothing at the specified key. Returns false if anything other |
+// than a list of strings is at the specified key. |
+bool GetOptionalStrings( |
+ const base::DictionaryValue& from, |
+ const std::string& name, |
+ scoped_ptr<std::vector<std::string> >* out); |
+ |
+// Puts the each string in |from| into a new ListValue at |out|.|name|. |
+void SetStrings( |
+ const std::vector<std::string>& from, |
+ const std::string& name, |
+ base::DictionaryValue* out); |
+ |
+// If from is non-NULL, puts each string in |from| into a new ListValue at |
+// |out|.|name|. |
+void SetOptionalStrings( |
+ const scoped_ptr<std::vector<std::string> >& from, |
+ const std::string& name, |
+ base::DictionaryValue* out); |
+ |
+} // namespace api_util |
+} // namespace extensions |
+ |
+#endif // TOOLS_JSON_SCHEMA_COMPILER_UTIL_H__ |