public void leaveInterface(final InterfaceDefinition itf) throws Exception { cw.append("default : printf(\"Invalid methodId %d\", ").append(methodId) .append(");").endl(); cw.appendln("}"); cw.appendln("return minus_bare_generic_exportbind_api_Push_E_OK;"); cw.appendln("}"); cw.append("#undef NEWSTYLE_COMPONENT").endl(); }
/** * Builds the footer part for a given interface definition. * * @param itf the interface definition for which has to be built. * @throws Exception if any error occurs. */ public void leaveInterface(final InterfaceDefinition itf) throws Exception { cw.append("#undef NEWSTYLE_COMPONENT").endl(); }
/** * Builds the footer part for a given interface definition. * * @param itf the interface definition for which has to be built. * @throws Exception if any error occurs. */ public void leaveInterface(final InterfaceDefinition itf) throws Exception { cw.append("default : printf(\"Invalid methodId %d\", ").append(methodId) .append(");").endl(); cw.appendln("}"); cw.append("return ").append(replyMsg).append(";").endl(); cw.appendln("}"); cw.append("#undef NEWSTYLE_COMPONENT").endl(); }
public void leaveInterface(final InterfaceDefinition itf) throws Exception { cw.append("#undef NEWSTYLE_COMPONENT").endl(); }
public void enterInterface(final InterfaceDefinition itf) throws Exception { methodId = 0; final String componentCName = typeNameProviderItf.getCTypeName(); cw.appendln("#include \"minus/bare/generic/exportbind/api/serialize.h\""); cw.append("#define REQUIRED ((struct ").append(componentCName).append( "_t *)_this)->type.imported ").endl(); cw.append("#define NEWSTYLE_COMPONENT").endl(); cw.append(" struct ").append(componentCName).append("_instancedata {};") .endl(); cw.appendln("#include \"cecilia.h\""); cw.endl(); }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter("Binding Controller Data Descriptor"); final String instanceName = instanceNameProviderItf.getCInstanceName(); cw.append("static binding_desc_t ").append(instanceName).append( "_bindings_desc[] = {").endl(); for (final Binding binding : bindings) { final String from = binding.getFrom(); int index = from.indexOf('.'); String clientComp = from.substring(0, index); final String clientItf = from.substring(index + 1); final String to = binding.getTo(); index = to.indexOf('.'); String serverComp = to.substring(0, index); final String serverItf = to.substring(index + 1); if (serverComp.equals("this")) serverComp = "thisComposite"; else if (clientComp.equals("this")) clientComp = "thisComposite"; cw.append("{").append(clientComp.toString().replace('.', '_')).append( "_exp, \"").append(clientItf).append("\", ").append( serverComp.toString().replace('.', '_')).append("_exp, \"").append( serverItf).append("\"},").endl(); } cw.append("};").endl(); return cw.toString(); } }
/** * Builds the header part for a given interface definition. * * @param itf the interface definition for which has to be built. * @throws Exception if any error occurs. */ public void enterInterface(final InterfaceDefinition itf) throws Exception { methodId = 0; final String componentCName = typeNameProviderItf.getCTypeName(); cw.appendln("#include \"minus/bare/generic/exportbind/api/serialize.h\""); cw.appendln("#include \"minus/bare/generic/debug/api/debug.h\""); cw.append("#define REQUIRED ((struct ").append(componentCName).append( "_t *)_this)->type.imported ").endl(); cw.append("#define NEWSTYLE_COMPONENT").endl(); cw.append(" struct ").append(componentCName).append("_instancedata {};") .endl(); cw.appendln("#include \"cecilia.h\""); cw.endl(); }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter( "Client Interfaces Descriptor Builder (extern references to server components.)"); final String name = typeNameProviderItf.getCTypeName(); final String structName = name + "_importeds_desc"; final StringBuilder offset = new StringBuilder(name.toUpperCase()); offset.append("_IMPORTEDS_BASE_OFFSET"); cw.append("static required_interface_desc_t ").append(structName).append( "[] = {").endl(); for (final TypeInterface itf : clientInterfaces) { cw.append("{").endl(); cw.append("\"").append(itf.getName()).append("\", // name").endl(); cw.append("(").append(offset.toString()).append(")").endl(); cw.append("},").endl(); offset.append("\n + sizeof(R").append( itf.getSignature().replace('.', '_')).append(" *)"); } cw.append("};").endl(); return cw.toString(); } }
public void leaveInterface(final InterfaceDefinition itf) throws Exception { meths_cw.append("NB_METHS} ").append(ItfName.toString()).append( "_meths_t;").endl(); params_cw.appendln("};"); params_cw.append("} ").append(ItfName.toString()).append("_parms_t, *p") .append(ItfName.toString()).append("_parms_t;").endl(); cw = new CodeWriter(); cw.appendln("DECLARE_DATA {};"); cw.appendln("#include <cecilia.h>"); cw.endl(); cw.append(meths_cw.toString()).endl(); cw.append(args_cw.toString()).endl(); cw.append(params_cw.toString()).endl(); cw.append(code_cw.toString()); }
public void enterInterface(final InterfaceDefinition itf) throws Exception { methcode_cw = new CodeWriter(); methenum_cw = new CodeWriter(); ItfName = (itf.getName().replace('.', '_')); methenum_cw.append("typedef enum {"); }
public void leaveInterface(final InterfaceDefinition itf) throws Exception { methenum_cw.appendln("} " + ItfName.toString() + "_meths_t;"); cw = new CodeWriter(); cw.endl(); cw.append("#include <stdio.h>").endl(); cw.appendln("DECLARE_DATA {};"); cw.appendln("#include <cecilia.h>"); cw.endl(); cw.appendln(methenum_cw.toString()).endl(); cw.appendln(methcode_cw.toString()).endl(); cw.appendln(x); }
public void enterInterface(final InterfaceDefinition itf) throws Exception { methenum_cw = new CodeWriter(); methcode_cw = new CodeWriter(); ItfName = (itf.getName().replace('.', '_')); methenum_cw.append("typedef enum {"); }
/** * Get the source of the deployer * @return C code of the deployer */ public String getDeployerSource() { final CodeWriter cw = new CodeWriter(); cw.appendln("/* This file is auto-generated */").endl(); cw.append(deployerStructs); cw.endl(); cw.appendln("static void *deployableComponents[] = {"); for (final String composite : composites) { cw.append("(void *)&" + composite.replace(".", "_")).appendln(", "); } cw.appendln("0"); cw.appendln("};").endl(); cw.appendln("jint METHOD(lifecycle_controller, getFcState)(void* _this) {"); cw.appendln("return fractal_api_ErrorConst_OPERATION_NOT_SUPPORTED;"); cw.appendln("}").endl(); cw.appendln("jint METHOD(lifecycle_controller, startFc) (void* _this) {"); cw.appendln("DATA.deployableComponents = deployableComponents;"); cw.appendln("return fractal_api_ErrorConst_OK;"); cw.appendln("}").endl(); cw.appendln("jint METHOD(lifecycle_controller, stopFc) (void* _this) {"); cw.appendln("return fractal_api_ErrorConst_OK;"); cw.appendln("}").endl(); return cw.toString(); }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter( "Server Interfaces Descriptor Builder (initialization)"); final String name = typeNameProviderItf.getCTypeName(); final String structName = name + "_exporteds_desc"; cw.append(structName); return cw.toString(); } }
public void leaveInterface(final InterfaceDefinition itf) throws Exception { methenum_cw.appendln("} " + ItfName.toString() + "_meths_t;"); cw = new CodeWriter(); cw.endl(); cw.append("#include <stdio.h>").endl(); cw.appendln("DECLARE_DATA {};"); cw.appendln("#include <cecilia.h>"); cw.endl(); cw.appendln(methenum_cw.toString()).endl(); cw.appendln(methcode_cw.toString()).endl(); cw.appendln(x); }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter( "Client Interfaces Descriptor Builder (initialization)"); final String name = typeNameProviderItf.getCTypeName(); final String structName = name + "_importeds_desc"; cw.append(structName); return cw.toString(); } }
public void enterInterface(final InterfaceDefinition itf) throws Exception { meths_cw = new CodeWriter(); params_cw = new CodeWriter(); code_cw = new CodeWriter(); args_cw = new CodeWriter(); ItfName = (itf.getName().replace('.', '_')); meths_cw.endl(); meths_cw.append("typedef enum {"); params_cw.appendln("typedef struct {"); params_cw.append(ItfName).append("_meths_t Methods;").endl(); params_cw.appendln("union {"); }
public void visitMethod(final Method method) throws Exception { methenum_cw.append(method.getName() + "_ID,"); methcode_cw.append(buildMethodDefinition(method, false, "METHOD(input," + method.getName().toString() + ")")); methcode_cw.appendln("{"); // trigger reporter BEGIN(methodeid) methcode_cw.appendln("CALL(REQUIRED.trigger,begin,(void*)" + method.getName() + "_ID" + ");"); // call application method methcode_cw.append("CALL(REQUIRED.output," + method.getName().toString()); for (final Parameter p : ((ParameterContainer) method).getParameters()) { methcode_cw.append("," + "\n"); methcode_cw.append(" " + p.getName()); } methcode_cw.append(");" + "\n"); // trigger report END methcode_cw.appendln("CALL(REQUIRED.trigger,end);"); methcode_cw.appendln("}"); } }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter("Component Definition Builder"); cw.append("#define IN_CECILIA_MECHANISM").endl(); if (interfaceDefinitionsProviderItf != null) cw.appendln(interfaceDefinitionsProviderItf.getSourceCode()).endl(); cw.endl(); return cw.toString(); } }
@Override protected String processSourceCode() throws Exception { final CodeWriter cw = new CodeWriter("Component Definition Builder"); cw.append("#define IN_CECILIA_MECHANISM").endl(); if (interfaceDefinitionsProviderItf != null) cw.appendln(interfaceDefinitionsProviderItf.getSourceCode()).endl(); cw.endl(); return cw.toString(); } }