diff options
author | Josh Haberman <jhaberman@gmail.com> | 2014-07-02 15:41:10 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2014-07-02 15:41:10 -0700 |
commit | 47b5e0968aa0ec47f522ba357c159b2450645806 (patch) | |
tree | d8cd2e7d518b1d6572a6002843446c9e6ee8ef89 /upb/json/typed_printer.h | |
parent | 2d10fa33071d52d7a35ce3b13bc459cd16a0aa33 (diff) |
Sync from internal Google development.
Diffstat (limited to 'upb/json/typed_printer.h')
-rw-r--r-- | upb/json/typed_printer.h | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/upb/json/typed_printer.h b/upb/json/typed_printer.h index 190aeb3..c9e36f7 100644 --- a/upb/json/typed_printer.h +++ b/upb/json/typed_printer.h @@ -19,20 +19,15 @@ namespace json { class TypedPrinter; } // namespace json } // namespace upb - -typedef upb::json::TypedPrinter upb_json_typedprinter; -#else -struct upb_json_typedprinter; -typedef struct upb_json_typedprinter upb_json_typedprinter; #endif +UPB_DECLARE_TYPE(upb::json::TypedPrinter, upb_json_typedprinter); -/* upb::json::TypedPrinter ****************************************************/ -#ifdef __cplusplus +/* upb::json::TypedPrinter ****************************************************/ // Prints an incoming stream of data to a BytesSink in JSON format. -class upb::json::TypedPrinter { +UPB_DEFINE_CLASS0(upb::json::TypedPrinter, public: TypedPrinter(const upb::Handlers* handlers); ~TypedPrinter(); @@ -50,11 +45,8 @@ class upb::json::TypedPrinter { // Returns handlers for printing according to the specified schema. static reffed_ptr<const Handlers> NewHandlers(const upb::MessageDef* md); - - private: -#else -struct upb_json_typedprinter { -#endif +, +UPB_DEFINE_STRUCT0(upb_json_typedprinter, upb_sink input_; // Pointer to yajl_gen; void* here so we don't have to include YAJL headers. void *yajl_gen_; @@ -63,12 +55,11 @@ struct upb_json_typedprinter { // We track the depth so that we know when to emit startstr/endstr on the // output. int depth_; -}; +)); + +UPB_BEGIN_EXTERN_C // { // Native C API. -#ifdef __cplusplus -extern "C" { -#endif void upb_json_typedprinter_init(upb_json_typedprinter *p, const upb_handlers *h); @@ -80,9 +71,7 @@ upb_sink *upb_json_typedprinter_input(upb_json_typedprinter *p); const upb_handlers *upb_json_typedprinter_newhandlers(const upb_msgdef *md, const void *owner); -#ifdef __cplusplus -} // extern "C" -#endif +UPB_END_EXTERN_C // } #ifdef __cplusplus |