From 969ba5ef86a951cb262929cb8a3fa31df6014517 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Mon, 13 Mar 2017 17:49:26 -0700 Subject: 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. --- upb/def.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'upb/def.c') diff --git a/upb/def.c b/upb/def.c index 5fe9e14..b5064be 100644 --- a/upb/def.c +++ b/upb/def.c @@ -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); -- cgit v1.2.3