public TclInterp() { unsafe { _interp = TclNative.Tcl_CreateInterp(); if (_interp == null) { throw new OutOfMemoryException(); } } _keepAlive = new Hashtable(); }
public TclCmdToken CreateCommand(string cmdName, TclCmdProc proc, TclCmdDeleteProc deleteProc) { TclCmdToken token; TclCmdProcWrapper cmdWrapper = new TclCmdProcWrapper(this, proc); TclCmdDeleteProcWrapper deleteWrapper = new TclCmdDeleteProcWrapper(this, deleteProc, cmdWrapper); unsafe { token._token = TclNative.Tcl_CreateCommand(_interp, cmdName, cmdWrapper.Callback, IntPtr.Zero, deleteWrapper.Callback); } return(token); }
public void TclInit() { unsafe { HandleError(TclNative.Tcl_Init(_interp)); } }
public string GetVar(string varName, int flags) { unsafe { return(Marshal.PtrToStringAnsi(TclNative.Tcl_GetVar(_interp, varName, flags))); } }
public void Eval(string str) { unsafe { HandleError(TclNative.Tcl_Eval(_interp, str)); } }