diff options
author | Bo Yang <teboring@google.com> | 2017-03-13 17:49:26 -0700 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2017-03-14 11:31:30 -0700 |
commit | 969ba5ef86a951cb262929cb8a3fa31df6014517 (patch) | |
tree | 40078b87840fff89e5c9e40d5986a9d1649eaa32 /upb/def.c | |
parent | 5a8467842acfbd117ec9231f8231fc33c3304035 (diff) |
Add new file option php_class_prefix.
This option will be prepended to all php generated classes. The PHP
runtime needs to know this option to figure out the class name for
specific message.
Diffstat (limited to 'upb/def.c')
-rw-r--r-- | upb/def.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -1859,6 +1859,7 @@ static void freefiledef(upb_refcounted *r) { upb_inttable_uninit(&f->deps); upb_gfree((void*)f->name); upb_gfree((void*)f->package); + upb_gfree((void*)f->phpprefix); upb_gfree(f); } @@ -1873,6 +1874,7 @@ upb_filedef *upb_filedef_new(const void *owner) { f->package = NULL; f->name = NULL; + f->phpprefix = NULL; f->syntax = UPB_SYNTAX_PROTO2; if (!upb_refcounted_init(upb_filedef_upcast_mutable(f), &upb_filedef_vtbl, @@ -1907,6 +1909,10 @@ const char *upb_filedef_package(const upb_filedef *f) { return f->package; } +const char *upb_filedef_phpprefix(const upb_filedef *f) { + return f->phpprefix; +} + upb_syntax_t upb_filedef_syntax(const upb_filedef *f) { return f->syntax; } @@ -1963,6 +1969,18 @@ bool upb_filedef_setpackage(upb_filedef *f, const char *package, return true; } +bool upb_filedef_setphpprefix(upb_filedef *f, const char *phpprefix, + upb_status *s) { + phpprefix = upb_gstrdup(phpprefix); + if (!phpprefix) { + upb_upberr_setoom(s); + return false; + } + upb_gfree((void*)f->phpprefix); + f->phpprefix = phpprefix; + return true; +} + bool upb_filedef_setsyntax(upb_filedef *f, upb_syntax_t syntax, upb_status *s) { UPB_UNUSED(s); |