1 /*
2 * tcl_interp.h
3 * DIN Is Noise is copyright (c) 2006-2021 Jagannathan Sampath
4 * For more information, please visit http://dinisnoise.org/
5 */
6 
7 
8 #ifndef __tcl
9 #define __tcl
10 
11 #include <tcl.h>
12 #include <string>
13 #include <sstream>
14 
15 struct tcl_interp { // tcl interpreter
16 
17   Tcl_Interp *interp;
18 
19   tcl_interp ();
20   ~tcl_interp ();
21   void setup (Tcl_Interp* pi);
22 
23   std::string result;
24 	int result_status;
25 
26   tcl_interp& operator() (const std::string& command); // execute command
27 
28   void add_din_specific ();
29 
30 
31 };
32 
33 typedef int (*tclcmd)(ClientData cd, Tcl_Interp* ti, int objc, Tcl_Obj* CONST objv[]);
34 int tcl_run (ClientData cd, Tcl_Interp* ti, int objc, Tcl_Obj* CONST objv[]);
35 
36 extern tcl_interp interpreter;
37 
38 #endif
39 
40 
41 
42