swig/Source/Modules/test.c
Dave Beazley 4f69c58d6d *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@407 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-04-11 22:48:47 +00:00

294 lines
5.7 KiB
C

/* Test module */
#include "swig.h"
/* -------- File inclusion directions -------- */
static int
emit_includefile(DOH *obj, void *clientdata) {
DOH *c;
printf("includefile\n");
c = Getattr(obj,"child");
if (c) {
Swig_emit(c,clientdata);
}
}
static int
emit_externfile(DOH *obj, void *clientdata) {
DOH *c;
printf("externfile\n");
c = Getattr(obj,"child");
if (c) {
Swig_emit(c,clientdata);
}
}
static int
emit_importfile(DOH *obj, void *clientdata) {
DOH *c;
printf("importfile\n");
c = Getattr(obj,"child");
if (c) {
Swig_emit(c,clientdata);
}
}
static int
emit_scope(DOH *obj, void *clientdata) {
DOH *c;
Printf(stdout,"scope\n");
c = Getattr(obj,"child");
if (c) {
Swig_emit(c,clientdata);
}
return 0;
}
/* Code blocks */
static int
emit_headerblock(DOH *obj, void *clientdata) {
Printf(stdout,"headerblock\n");
return 0;
}
static int
emit_wrapperblock(DOH *obj, void *clientdata) {
Printf(stdout,"wrapperblock\n");
return 0;
}
static int
emit_initblock(DOH *obj, void *clientdata) {
Printf(stdout,"initblock\n");
return 0;
}
/* ------ Basic C declarations ----- */
static int
emit_function(DOH *obj, void *clientdata) {
Printf(stdout,"function\n");
return 0;
}
static int
emit_variable(DOH *obj, void *clientdata) {
Printf(stdout,"variable\n");
return 0;
}
static int
emit_constant(DOH *obj, void *clientdata) {
Printf(stdout,"constant\n");
return 0;
}
static int
emit_typedef(DOH *obj, void *clientdata) {
Printf(stdout,"typedef\n");
return 0;
}
static int
emit_enum(DOH *obj, void *clientdata) {
DOH *c;
Printf(stdout,"enum\n");
c = Getattr(obj,"child");
if (c) {
Swig_emit(c,clientdata);
}
return 0;
}
static int
emit_enumvalue(DOH *obj, void *clientdata) {
Printf(stdout,"enumvalue\n");
return 0;
}
/* ------ C++ stuff ------ */
static int
emit_class(DOH *obj, void *clientdata) {
DOH *c;
Printf(stdout,"class\n");
c = Getattr(obj, "child");
if (c) {
Swig_emit(c,clientdata);
}
return 0;
}
static int
emit_destructor(DOH *obj, void *clientdata) {
Printf(stdout,"destructor\n");
return 0;
}
static int
emit_classdecl(DOH *obj, void *clientdata) {
Printf(stdout,"classdecl\n");
return 0;
}
static int
emit_private(DOH *obj, void *clientdata) {
Printf(stdout,"private\n");
return 0;
}
static int
emit_protected(DOH *obj, void *clientdata) {
Printf(stdout,"protected\n");
return 0;
}
static int
emit_public(DOH *obj, void *clientdata) {
Printf(stdout,"public\n");
return 0;
}
static int
emit_addmethods(DOH *obj, void *clientdata) {
DOH *c;
Printf(stdout,"addmethods\n");
c = Getattr(obj, "child");
if (c) {
Swig_emit(c,clientdata);
}
return 0;
}
/* ------ SWIG directives ------ */
static int
emit_moduledirective(DOH *obj, void *clientdata) {
Printf(stdout,"moduledirective : %s\n", Getattr(obj,"name"));
return 0;
}
static int
emit_renamedirective(DOH *obj, void *clientdata) {
Printf(stdout,"renamedirective\n");
return 0;
}
static int
emit_readonlydirective(DOH *obj, void *clientdata) {
Printf(stdout,"readonlydirective\n");
return 0;
}
static int
emit_readwritedirective(DOH *obj, void *clientdata) {
Printf(stdout,"readwritedirective\n");
return 0;
}
static int
emit_namedirective(DOH *obj, void *clientdata) {
Printf(stdout,"namedirective\n");
return 0;
}
static int
emit_newdirective(DOH *obj, void *clientdata) {
Printf(stdout,"newdirective\n");
return 0;
}
static int
emit_exceptiondirective(DOH *obj, void *clientdata) {
Printf(stdout,"exceptiondirective\n");
return 0;
}
static int
emit_pragmadirective(DOH *obj, void *clientdata) {
Printf(stdout,"pragmadirective\n");
return 0;
}
static int
emit_nativedirective(DOH *obj, void *clientdata) {
Printf(stdout,"nativedirective\n");
return 0;
}
static int
emit_typemap(DOH *obj, void *clientdata) {
Printf(stdout,"typemap\n");
return 0;
}
static int
emit_typemapcopy(DOH *obj, void *clientdata) {
Printf(stdout,"typemapcopy\n");
return 0;
}
static int
emit_applydirective(DOH *obj, void *clientdata) {
Printf(stdout,"applydirective\n");
return 0;
}
static int
emit_cleardirective(DOH *obj, void *clientdata) {
Printf(stdout,"cleardirective\n");
return 0;
}
/* Entry point */
void test_emit(DOH *top, void *clientdata) {
Swig_emit(top, clientdata);
}
static SwigRule rules[] = {
"includefile", emit_includefile,
"externfile", emit_externfile,
"importfile", emit_importfile,
"headerblock", emit_headerblock,
"wrapperblock", emit_wrapperblock,
"initblock", emit_initblock,
"scope", emit_scope,
"function", emit_function,
"variable", emit_variable,
"constant", emit_constant,
"typedef", emit_typedef,
"class", emit_class,
"destructor", emit_destructor,
"enum", emit_enum,
"enumvalue", emit_enumvalue,
"classdecl", emit_classdecl,
"private", emit_private,
"protected", emit_protected,
"public", emit_public,
"addmethods", emit_addmethods,
"moduledirective", emit_moduledirective,
"renamedirective", emit_renamedirective,
"readonlydirective", emit_readonlydirective,
"readwritedirective", emit_readwritedirective,
"namedirective", emit_namedirective,
"newdirective", emit_newdirective,
"exceptiondirective", emit_exceptiondirective,
"pragmadirective", emit_pragmadirective,
"nativedirective", emit_nativedirective,
"typemap", emit_typemap,
"typemapcopy", emit_typemapcopy,
"applydirective", emit_applydirective,
"cleardirective", emit_cleardirective,
NULL, NULL
};
/* Initialize the module */
void test_init() {
Swig_add_rules(rules);
}