// Copyright 2017 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 TESTING_LIBFUZZER_PROTO_JSON_PROTO_CONVERTER_H_ #define TESTING_LIBFUZZER_PROTO_JSON_PROTO_CONVERTER_H_ #include #include #include "testing/libfuzzer/proto/json.pb.h" namespace json_proto { class JsonProtoConverter { public: std::string Convert(const JsonValue& json_value); std::string Convert(const json_proto::JsonObject&); std::string Convert(const json_proto::ArrayValue&); private: std::stringstream data_; void AppendArray(const json_proto::ArrayValue&); void AppendNumber(const json_proto::NumberValue&); void AppendObject(const json_proto::JsonObject&); void AppendValue(const json_proto::JsonValue&); }; } // namespace json_proto #endif // TESTING_LIBFUZZER_PROTO_JSON_PROTO_CONVERTER_H_