1/* ------------------------------------------------------------
2 * The start of the Tcl initialization function
3 * ------------------------------------------------------------ */
4
5%insert(init) "swiginit.swg"
6
7/* This initialization code exports the module initialization function */
8
9%header %{
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14#ifdef MAC_TCL
15#pragma export on
16#endif
17SWIGEXPORT int SWIG_init(Tcl_Interp *);
18#ifdef MAC_TCL
19#pragma export off
20#endif
21#ifdef __cplusplus
22}
23#endif
24
25/* Compatibility version for TCL stubs */
26#ifndef SWIG_TCL_STUBS_VERSION
27#define SWIG_TCL_STUBS_VERSION "8.1"
28#endif
29
30%}
31
32%init %{
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37/* -----------------------------------------------------------------------------
38 * constants/methods manipulation
39 * ----------------------------------------------------------------------------- */
40
41/* Install Constants */
42
43SWIGINTERN void
44SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[]) {
45  int i;
46  Tcl_Obj *obj;
47
48  if (!swigconstTableinit) {
49    Tcl_InitHashTable(&swigconstTable, TCL_STRING_KEYS);
50    swigconstTableinit = 1;
51  }
52  for (i = 0; constants[i].type; i++) {
53    switch(constants[i].type) {
54    case SWIG_TCL_POINTER:
55      obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
56      break;
57    case SWIG_TCL_BINARY:
58      obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
59      break;
60    default:
61      obj = 0;
62      break;
63    }
64    if (obj) {
65      SWIG_Tcl_SetConstantObj(interp, constants[i].name, obj);
66    }
67  }
68}
69
70#ifdef __cplusplus
71}
72#endif
73
74/* -----------------------------------------------------------------------------*
75 *  Partial Init method
76 * -----------------------------------------------------------------------------*/
77
78SWIGEXPORT int SWIG_init(Tcl_Interp *interp) {
79  int i;
80  if (interp == 0) return TCL_ERROR;
81#ifdef USE_TCL_STUBS
82  /* (char*) cast is required to avoid compiler warning/error for Tcl < 8.4. */
83  if (Tcl_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
84    return TCL_ERROR;
85  }
86#endif
87#ifdef USE_TK_STUBS
88  /* (char*) cast is required to avoid compiler warning/error. */
89  if (Tk_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
90    return TCL_ERROR;
91  }
92#endif
93
94  Tcl_PkgProvide(interp, (char*)SWIG_name, (char*)SWIG_version);
95
96#ifdef SWIG_namespace
97  Tcl_Eval(interp, "namespace eval " SWIG_namespace " { }");
98#endif
99
100  SWIG_InitializeModule((void *) interp);
101  SWIG_PropagateClientData();
102
103  for (i = 0; swig_commands[i].name; i++) {
104    Tcl_CreateObjCommand(interp, (char *) swig_commands[i].name, (swig_wrapper_func) swig_commands[i].wrapper,
105			 swig_commands[i].clientdata, NULL);
106  }
107  for (i = 0; swig_variables[i].name; i++) {
108    Tcl_SetVar(interp, (char *) swig_variables[i].name, (char *) "", TCL_GLOBAL_ONLY);
109    Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_READS | TCL_GLOBAL_ONLY,
110		 (Tcl_VarTraceProc *) swig_variables[i].get, (ClientData) swig_variables[i].addr);
111    Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_WRITES | TCL_GLOBAL_ONLY,
112		 (Tcl_VarTraceProc *) swig_variables[i].set, (ClientData) swig_variables[i].addr);
113  }
114
115  SWIG_Tcl_InstallConstants(interp, swig_constants);
116
117%}
118
119/* Note: the initialization function is closed after all code is generated */
120