#ifndef _TCLOOINT_H typedef int (*TclOO_PreCallProc)(ClientData clientData, Tcl_Interp *interp, Tcl_ObjectContext contextPtr, Tcl_CallFrame *framePtr, int *isFinished); typedef int (*TclOO_PostCallProc)(ClientData clientData, Tcl_Interp *interp, Tcl_ObjectContext contextPtr, Tcl_Namespace *nsPtr, int result); typedef int (*TclOO_MapMethodNameProc)(Tcl_Interp *interp, Tcl_Object oPtr, Tcl_Class *startClsPtr, Tcl_Obj *methodObj); #endif EXTERN void Tcl_ObjectSetMapMethodNameProc(Tcl_Object oPtr, TclOO_MapMethodNameProc mapMethodNameProc); EXTERN Tcl_Method Tcl_NewProcMethod(Tcl_Interp *interp, Tcl_Object oPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, Tcl_ProcErrorProc errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, ClientData *clientData2); EXTERN Tcl_Method Tcl_NewProcClassMethod(Tcl_Interp *interp, Tcl_Class clsPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, Tcl_ProcErrorProc errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, ClientData *clientData2); EXTERN Tcl_Method Tcl_NewForwardMethod(Tcl_Interp *interp, Tcl_Object oPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *prefixObj); EXTERN Tcl_Method Tcl_NewForwardClassMethod(Tcl_Interp *interp, Tcl_Class clsPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *prefixObj); EXTERN void Tcl_AddToMixinSubs(Tcl_Class subPtr, Tcl_Class superPtr); EXTERN void Tcl_RemoveFromMixinSubs(Tcl_Class subPtr, Tcl_Class superPtr);