summaryrefslogtreecommitdiff
path: root/upb/def.h
diff options
context:
space:
mode:
authorPaul Yang <TeBoring@users.noreply.github.com>2018-08-24 16:10:07 -0700
committerGitHub <noreply@github.com>2018-08-24 16:10:07 -0700
commit38d674e86f4d5b368e37e20d31a44c2924de6998 (patch)
tree64d3333d0c39240bfb2a67fe6b8bef7c48753be9 /upb/def.h
parentd1738d4dec31bc803b0db5c59cd5b40e929b01c0 (diff)
Fix json parsing for timestamp (#115)
* Fix json parsing for timestamp * Fix json encoding for timestamp * Implement timestamp_machine to parse timestamp * Remove comparision for size_t and 0 * Increase defined printer size * Increase size * Increase parser size * Mark json_en_timestamp_machine unused
Diffstat (limited to 'upb/def.h')
-rw-r--r--upb/def.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/upb/def.h b/upb/def.h
index 10fa510..b6d1979 100644
--- a/upb/def.h
+++ b/upb/def.h
@@ -663,6 +663,10 @@ typedef upb_strtable_iter upb_msg_oneof_iter;
#define UPB_MAPENTRY_KEY 1
#define UPB_MAPENTRY_VALUE 2
+/* Well-known field tag numbers for timestamp messages. */
+#define UPB_TIMESTAMP_SECONDS 1
+#define UPB_TIMESTAMP_NANOS 2
+
#ifdef __cplusplus
/* Structure that describes a single .proto message type.
@@ -777,6 +781,9 @@ class upb::MessageDef {
void setmapentry(bool map_entry);
bool mapentry() const;
+ /* Is this message a timestamp? */
+ bool timestamp() const;
+
/* Iteration over fields. The order is undefined. */
class field_iterator
: public std::iterator<std::forward_iterator_tag, FieldDef*> {
@@ -918,6 +925,7 @@ bool upb_msgdef_addoneof(upb_msgdef *m, upb_oneofdef *o, const void *ref_donor,
bool upb_msgdef_setfullname(upb_msgdef *m, const char *fullname, upb_status *s);
void upb_msgdef_setmapentry(upb_msgdef *m, bool map_entry);
bool upb_msgdef_mapentry(const upb_msgdef *m);
+bool upb_msgdef_timestamp(const upb_msgdef *m);
bool upb_msgdef_setsyntax(upb_msgdef *m, upb_syntax_t syntax);
/* Field lookup in a couple of different variations:
@@ -1857,6 +1865,9 @@ inline void MessageDef::setmapentry(bool map_entry) {
inline bool MessageDef::mapentry() const {
return upb_msgdef_mapentry(this);
}
+inline bool MessageDef::timestamp() const {
+ return upb_msgdef_timestamp(this);
+}
inline MessageDef::field_iterator MessageDef::field_begin() {
return field_iterator(this);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback