diff options
author | joye <joye> | 2013-08-27 18:44:24 (GMT) |
---|---|---|
committer | joye <joye> | 2013-08-27 18:44:24 (GMT) |
commit | 48974a09f23839821ca95f228fc0f3f53bb1cefa (patch) | |
tree | 9d5cfa1305ef57b69c9b1dd09dc3ffe536c0777d /src/bltNsUtil.h | |
parent | 05d8c009040abfcb5f62644fbb99c8ff453d4519 (diff) | |
download | blt-48974a09f23839821ca95f228fc0f3f53bb1cefa.zip blt-48974a09f23839821ca95f228fc0f3f53bb1cefa.tar.gz blt-48974a09f23839821ca95f228fc0f3f53bb1cefa.tar.bz2 |
*** empty log message ***
Diffstat (limited to 'src/bltNsUtil.h')
-rw-r--r-- | src/bltNsUtil.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/bltNsUtil.h b/src/bltNsUtil.h new file mode 100644 index 0000000..00769f3 --- /dev/null +++ b/src/bltNsUtil.h @@ -0,0 +1,101 @@ +/* + * bltNsUtil.h -- + * + * Copyright 1993-2004 George A Howlett. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef BLT_NS_UTIL_H +#define BLT_NS_UTIL_H 1 + +#ifndef TCL_NAMESPACE_ONLY +#define TCL_NAMESPACE_ONLY TCL_GLOBAL_ONLY +#endif + +#define NS_SEARCH_NONE (0) +#define NS_SEARCH_CURRENT (1<<0) +#define NS_SEARCH_GLOBAL (1<<1) +#define NS_SEARCH_BOTH (NS_SEARCH_GLOBAL | NS_SEARCH_CURRENT) + +typedef struct { + const char *name; + Tcl_Namespace *nsPtr; +} Blt_ObjectName; + +#define BLT_NO_DEFAULT_NS (1<<0) +#define BLT_NO_ERROR_MSG (1<<1) + +#ifndef USE_TCL_STUBS + +BLT_EXTERN Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, const char *name, + Tcl_Namespace *nsPtr, int flags); +/* + * Namespace procedures not prototyped defined in Tcl.h + */ +BLT_EXTERN Tcl_Namespace *Tcl_GetCurrentNamespace(Tcl_Interp *interp); + +BLT_EXTERN Tcl_Namespace *Tcl_GetGlobalNamespace(Tcl_Interp *interp); + +BLT_EXTERN Tcl_Namespace *Tcl_CreateNamespace(Tcl_Interp *interp, + const char *name, ClientData clientData, + Tcl_NamespaceDeleteProc *nsDelProc); + +BLT_EXTERN void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr); + +BLT_EXTERN Tcl_Namespace *Tcl_FindNamespace(Tcl_Interp *interp, + const char *name, Tcl_Namespace *context, int flags); + +BLT_EXTERN int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr, + const char *name, int resetFlag); + +BLT_EXTERN Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, const char *name, + Tcl_Namespace *contextNsPtr, int flags); + +BLT_EXTERN void Tcl_PopCallFrame(Tcl_Interp *interp); + +BLT_EXTERN int Tcl_PushCallFrame(Tcl_Interp *interp, Tcl_CallFrame *framePtr, + Tcl_Namespace *nsPtr, int isProcCallFrame); + +#endif /* USE_TCL_STUBS */ + +/* + * Auxillary procedures + */ +BLT_EXTERN Tcl_Namespace *Blt_GetVariableNamespace(Tcl_Interp *interp, + const char *varName); + +BLT_EXTERN Tcl_Namespace *Blt_GetCommandNamespace(Tcl_Command cmdToken); + +BLT_EXTERN Tcl_CallFrame *Blt_EnterNamespace(Tcl_Interp *interp, + Tcl_Namespace *nsPtr); + +BLT_EXTERN void Blt_LeaveNamespace(Tcl_Interp *interp, Tcl_CallFrame *framePtr); + +BLT_EXTERN int Blt_ParseObjectName(Tcl_Interp *interp, const char *name, + Blt_ObjectName *objNamePtr, unsigned int flags); + +BLT_EXTERN char *Blt_MakeQualifiedName(Blt_ObjectName *objNamePtr, + Tcl_DString *resultPtr); + +#endif /* BLT_NS_UTIL_H */ |