static void idl_registerHeaderFile ( const char *basename ) { idl_fileOutPrintf (idl_fileCur(), "#ifndef %s\n", idl_macroFromBasename(basename,"__REGISTER_H")); idl_fileOutPrintf (idl_fileCur(), "#define %s\n", idl_macroFromBasename(basename,"__REGISTER_H")); idl_fileOutPrintf (idl_fileCur(), "\n"); idl_fileOutPrintf (idl_fileCur(), "#include <c_base.h>\n"); idl_fileOutPrintf (idl_fileCur(), "\n"); idl_fileOutPrintf (idl_fileCur(), "void %s__register_types (c_base base);\n", basename); idl_fileOutPrintf (idl_fileCur(), "\n"); idl_fileOutPrintf (idl_fileCur(), "#endif\n"); }
/* @brief callback function called on opening the IDL input file. * * Generate standard file header consisting of: * - mutiple inclusion prevention * - inclusion of Splice type definition files * - inclusion of application specific include files related to other IDL files * * @param scope Current scope (not used) * @param name Name of the IDL input file * @return Next action for this file (idl_explore) */ static idl_action idl_fileOpen( idl_scope scope, const char *name, void *userData) { c_long i; /* Generate multiple inclusion prevention code */ idl_fileOutPrintf(idl_fileCur(), "#ifndef %s\n", idl_macroFromBasename(name, "SPLTYPES_H")); idl_fileOutPrintf(idl_fileCur(), "#define %s\n", idl_macroFromBasename(name, "SPLTYPES_H")); idl_fileOutPrintf(idl_fileCur(), "\n"); if(!test_mode) { idl_fileOutPrintf(idl_fileCur(), "#include \"%s.h\"\n", includeFile); if(idl_dllGetHeader() != NULL) { idl_fileOutPrintf(idl_fileCur(), "%s\n", idl_dllGetHeader()); } } /* Generate inclusion of standard SPLICE-DDS type definition files */ idl_fileOutPrintf(idl_fileCur(), "#include <c_base.h>\n"); idl_fileOutPrintf(idl_fileCur(), "#include <c_misc.h>\n"); idl_fileOutPrintf(idl_fileCur(), "#include <c_sync.h>\n"); idl_fileOutPrintf(idl_fileCur(), "#include <c_collection.h>\n"); idl_fileOutPrintf(idl_fileCur(), "#include <c_field.h>\n"); idl_fileOutPrintf(idl_fileCur(), "\n"); /* Generate code for inclusion of application specific include files */ for (i = 0; i < idl_depLength(idl_depDefGet()); i++) { idl_fileOutPrintf(idl_fileCur(), "#include \"%sSplDcps.h\"\n", idl_depGet (idl_depDefGet(), i)); } if (idl_depLength(idl_depDefGet()) > 0) { idl_fileOutPrintf(idl_fileCur(), "\n"); } /* return idl_explore to indicate that the rest of the file needs to be processed */ return idl_explore; }