2 #ifndef __SFIDL_CBASE_H__
3 #define __SFIDL_CBASE_H__
21 bool generateBoxedTypes;
24 MODEL_FROM_VALUE, MODEL_TO_VALUE,
25 MODEL_VCALL, MODEL_VCALL_ARG,
26 MODEL_VCALL_CARG, MODEL_VCALL_CONV, MODEL_VCALL_CFREE,
27 MODEL_VCALL_RET, MODEL_VCALL_RCONV, MODEL_VCALL_RFREE
30 enum PrefixSymbolMode { generateOutput, generatePrefixSymbols };
33 const gchar *makeCStr (
const String& str);
35 String scatId (SfiSCategory c);
38 void printClientRecordPrototypes();
39 void printClientSequencePrototypes();
41 void printClientRecordDefinitions();
42 void printClientSequenceDefinitions();
44 void printClientRecordMethodPrototypes (PrefixSymbolMode mode);
45 void printClientSequenceMethodPrototypes (PrefixSymbolMode mode);
47 void printClientRecordMethodImpl();
48 void printClientSequenceMethodImpl();
50 void printClientChoiceDefinitions();
51 void printClientChoiceConverterPrototypes (PrefixSymbolMode mode);
53 void printProcedure (
const Method& mdef,
bool proto =
false,
const String& className =
"");
54 void printChoiceConverters ();
60 String createTypeCode (
const String& type, TypeCodeModel model);
69 const gchar *cTypeArg (
const String& type) {
return makeCStr (typeArg (type)); }
73 const gchar *cTypeField (
const String& type) {
return makeCStr (typeField (type)); }
77 const gchar *cTypeRet (
const String& type) {
return makeCStr (typeRet (type)); }
81 const gchar *cTypeArray (
const String& type) {
return makeCStr (typeArray (type)); }
88 const gchar *cFuncNew (
const String& type) {
return makeCStr (funcNew (type)); }
95 const gchar *cFuncCopy (
const String& type) {
return makeCStr (funcNew (type)); }
102 const gchar *cFuncFree (
const String& type) {
return makeCStr (funcNew (type)); }
105 TypeCodeModel model);
108 generateBoxedTypes =
false;
Definition: sfidl-parser.hh:92
Definition: sfidl-generator.hh:16
The Sfidl namespace contains implementation and API of the Sfi IDL compiler.
Definition: sfidl-cbase.hh:14
Definition: sfidl-parser.hh:231
Definition: sfidl-cbase.hh:19
Definition: sfidl-parser.hh:157