diff options
Diffstat (limited to 'upb/msg.h')
-rw-r--r-- | upb/msg.h | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -57,6 +57,8 @@ UPB_DECLARE_TYPE(upb::VisitorPlan, upb_visitorplan) UPB_BEGIN_EXTERN_C +typedef void upb_msg; + /** upb_msglayout *************************************************************/ @@ -64,6 +66,9 @@ UPB_BEGIN_EXTERN_C * instances of this from a upb_msgfactory, and the factory always owns the * msglayout. */ +/* Gets the factory for this layout */ +upb_msgfactory *upb_msglayout_factory(const upb_msglayout *l); + /* Get the msglayout for a submessage. This requires that this field is a * submessage, ie. upb_fielddef_issubmsg(upb_msglayout_msgdef(l)) == true. * @@ -84,7 +89,7 @@ const upb_msgdef *upb_msglayout_msgdef(const upb_msglayout *l); upb_visitor *upb_visitor_create(upb_env *e, const upb_visitorplan *vp, upb_sink *output); -bool upb_visitor_visitmsg(upb_visitor *v, const void *msg); +bool upb_visitor_visitmsg(upb_visitor *v, const upb_msg *msg); /** upb_msgfactory ************************************************************/ @@ -117,8 +122,8 @@ const upb_msglayout *upb_msgfactory_getlayout(upb_msgfactory *f, const upb_msgdef *m); const upb_handlers *upb_msgfactory_getmergehandlers(upb_msgfactory *f, const upb_msgdef *m); -const upb_visitorplan *upb_msgfactory_getvisitorplan(const upb_msgfactory *f, - const upb_msgdef *m); +const upb_visitorplan *upb_msgfactory_getvisitorplan(upb_msgfactory *f, + const upb_handlers *h); /** upb_msgval ****************************************************************/ @@ -126,8 +131,6 @@ const upb_visitorplan *upb_msgfactory_getvisitorplan(const upb_msgfactory *f, /* A union representing all possible protobuf values. Used for generic get/set * operations. */ -typedef void upb_msg; - typedef union { bool b; float flt; @@ -180,6 +183,14 @@ UPB_INLINE upb_msgval upb_msgval_str(const char *ptr, size_t len) { return ret; } +UPB_INLINE const char* upb_msgval_getstr(upb_msgval val) { + return val.str.ptr; +} + +UPB_INLINE size_t upb_msgval_getstrlen(upb_msgval val) { + return val.str.len; +} + /** upb_msg *******************************************************************/ |