enable synchronous mode (functional)
Change-Id: I613610013e7e4d1623620ab94d2d25d8a1bd82b3
Bug: 5972398
diff --git a/rsg_generator.c b/rsg_generator.c
index c404c9c..7022bcb 100644
--- a/rsg_generator.c
+++ b/rsg_generator.c
@@ -224,6 +224,29 @@
}
fprintf(f, ");\n");
} else {
+ // handle synchronous path
+ fprintf(f, " if (((Context *)rsc)->isSynchronous()) {\n");
+ fprintf(f, " ");
+ if (api->ret.typeName[0]) {
+ fprintf(f, "return ");
+ }
+ fprintf(f, "rsi_%s(", api->name);
+ if (!api->nocontext) {
+ fprintf(f, "(Context *)rsc");
+ }
+ for (ct2=0; ct2 < api->paramCount; ct2++) {
+ const VarType *vt = &api->params[ct2];
+ if (ct2 > 0 || !api->nocontext) {
+ fprintf(f, ", ");
+ }
+ fprintf(f, "%s", vt->name);
+ }
+ fprintf(f, ");\n");
+ if (!api->ret.typeName[0]) {
+ fprintf(f, " return;");
+ }
+ fprintf(f, " }\n\n");
+
fprintf(f, " ThreadIO *io = &((Context *)rsc)->mIO;\n");
fprintf(f, " const uint32_t size = sizeof(RS_CMD_%s);\n", api->name);
if (hasInlineDataPointers(api)) {