@Override protected void checkRemoteInterface( final RemoteInterfaceDefinition definition, final Map<Object, Object> context) throws ADLException { for (final Method m : ((MethodContainer) definition).getMethods()) { final Type returnType = Util.getContainedType((m)); /* The method must return void */ final boolean isVoidMethod = (returnType instanceof PrimitiveType) && getPrimitiveType((PrimitiveType) returnType) == PrimitiveTypeEnum.VOID; if (!isVoidMethod) throw new ADLException(EXBErrors.IDL_INVALID_TYPE, "Each method in MP stubs and skeletons must return void"); ; /* Each parameter must be serializable and must not be in or in/out */ for (final Parameter p : ((ParameterContainer) m).getParameters()) { final Type paramType = Util.getContainedType((p)); if (!isSerializable(paramType)) throw new ADLException(EXBErrors.IDL_INVALID_TYPE, "The type of the parameter '" + p.getName() + "' is not serializable", paramType); if (Util.isOutParameter(p) || Util.isInOutParameter(p)) throw new ADLException(EXBErrors.IDL_INVALID_TYPE, "The parameter '" + p.getName() + "' must be IN", paramType); } } } }
if (Util.isOutParameter(p) || Util.isInOutParameter(p)) hasOutParam = true; if (Util.isOutParameter(p) || Util.isInOutParameter(p)) { final String qualifier = p.getQualifier(); p.setQualifier(Parameter.IN); if (Util.isOutParameter(p) || Util.isInOutParameter(p)) { final Object ctx = writeSerializationDeclaration(Util .getContainedType(p), p.getName(), cw, localVars); cw.append("CALL(REQUIRED.itf, ").append(method.getName()); for (final Parameter p : parameters) { if (Util.isOutParameter(p) || Util.isInOutParameter(p)) cw.append(", &").append(p.getName()); else if (Util.isOutParameter(p) || Util.isInOutParameter(p)) { writeSizeOf(Util.getContainedType(p), p.getName(), replyMsgSize, cw, outParamContext.get(p)); writeSerialization(returnType, result, data, cw, resultContext, true); for (final Parameter p : parameters) { if (Util.isOutParameter(p) || Util.isInOutParameter(p)) { cw.append("// Serialize \"" + p.getName() + "\"").endl(); writeSerialization(Util.getContainedType(p), p.getName(), data, cw,
if (Util.isOutParameter(p) || Util.isInOutParameter(p)) hasOutParam = true; if (Util.isOutParameter(p)) continue; String paramName = p.getName(); if (Util.isInOutParameter(p)) paramName = "(*" + paramName + ")"; writeSizeOf(Util.getContainedType(p), paramName, msgSize, cw, paramContext.get(p)); if (Util.isOutParameter(p)) continue; cw.append("// Serialize \"" + p.getName() + "\"").endl(); if (Util.isInOutParameter(p)) writeSerialization(Util.getContainedType(p), "(*" + p.getName() + ")", data, cw, paramContext.get(p), false); true); for (final Parameter p : parameters) { if (Util.isOutParameter(p) || Util.isInOutParameter(p)) { cw.append("// Deserialize \"" + p.getName() + "\"").endl(); writeDeserialization(Util.getContainedType(p), "(*" + p.getName()