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