public class GenerateServerC extends java.lang.Object implements CodeGenerator
GenerateServerC is the main entry point for the C
server-side code generation routines. This class generates the skeleton,
implementation header, and implementation source files. It is assumed
that all symbols necessary to generate C code are available in the symbol
table (call resolveAllReferences before calling this routine).| Constructor and Description |
|---|
GenerateServerC()
The constructor does nothing interesting.
|
| Modifier and Type | Method and Description |
|---|---|
void |
generateCode(java.util.Set symbols)
Generate C server-side code for each symbol identifier in the set
argument.
|
java.util.Set |
getLanguages()
Return the set of language names that this generator supports.
|
java.lang.String |
getName()
Return the canonical name of this generator.
|
java.lang.String |
getType()
Return the type of generator.
|
boolean |
getUserSymbolsOnly()
Return
true if and only if this code factory should
only operate on symbols outside the sidl namespace (i.e., exclude
symbols from the sidl runtime library). |
void |
setContext(Context context)
Routine to notify extensions of the context.
|
void |
setName(java.lang.String name)
Set the name of the generator.
|
public GenerateServerC()
GenerateServerC class is generateCode.public void generateCode(java.util.Set symbols)
throws CodeGenerationException
generateCode in interface CodeGeneratorsymbols - the set of all symbols to be processed. Server
code will be generated for members of this
set that are Classes.CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or
violations of the data type invariants.public java.lang.String getType()
CodeGeneratorgetType in interface CodeGeneratorpublic boolean getUserSymbolsOnly()
CodeGeneratortrue if and only if this code factory should
only operate on symbols outside the sidl namespace (i.e., exclude
symbols from the sidl runtime library). This is typically true
for C and Python where the stubs for the sidl runtime library
are pregenerated. Generally, this should be true for
anything other than a stub. Implementors do not need to worry
about the special case of generating the sidl runtime library
itself.getUserSymbolsOnly in interface CodeGeneratorpublic java.util.Set getLanguages()
CodeGeneratorgetLanguages in interface CodeGeneratorpublic void setName(java.lang.String name)
throws CodeGenerationException
CodeGeneratorCodeGenerator.getName() is called.setName in interface CodeGeneratorname - this should be the name that the end user designated for
the generator.CodeGenerationExceptionpublic java.lang.String getName()
CodeGeneratorCodeGenerator.setName(String)
should be called at least once before this method is called.getName in interface CodeGeneratorCodeGenerator.getLanguages(). It may not be equal to the name given in
CodeGenerator.setName(String).public void setContext(Context context)
ContextAwaresetContext in interface ContextAware