Unix/Linux Go Back    


CentOS 7.0 - man page for tcl_getensemblesubcommandlist (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


Tcl_Ensemble(3) 		      Tcl Library Procedures			  Tcl_Ensemble(3)

_________________________________________________________________________________________________

NAME
       Tcl_CreateEnsemble,  Tcl_FindEnsemble,  Tcl_GetEnsembleFlags,  Tcl_GetEnsembleMappingDict,
       Tcl_GetEnsembleNamespace,  Tcl_GetEnsembleUnknownHandler,   Tcl_GetEnsembleSubcommandList,
       Tcl_IsEnsemble,	Tcl_SetEnsembleFlags,  Tcl_SetEnsembleMappingDict, Tcl_SetEnsembleSubcom-
       mandList, Tcl_SetEnsembleUnknownHandler - manipulate ensemble commands

SYNOPSIS
       #include <tcl.h>

       Tcl_Command
       Tcl_CreateEnsemble(interp, name, namespacePtr, ensFlags)

       Tcl_Command
       Tcl_FindEnsemble(interp, cmdNameObj, flags)

       int
       Tcl_IsEnsemble(token)

       int
       Tcl_GetEnsembleFlags(interp, token, ensFlagsPtr)

       int
       Tcl_SetEnsembleFlags(interp, token, ensFlags)

       int
       Tcl_GetEnsembleMappingDict(interp, token, dictObjPtr)

       int
       Tcl_SetEnsembleMappingDict(interp, token, dictObj)

       int
       Tcl_GetEnsembleSubcommandList(interp, token, listObjPtr)

       int
       Tcl_SetEnsembleSubcommandList(interp, token, listObj)

       int
       Tcl_GetEnsembleUnknownHandler(interp, token, listObjPtr)

       int
       Tcl_SetEnsembleUnknownHandler(interp, token, listObj)

       int
       Tcl_GetEnsembleNamespace(interp, token, namespacePtrPtr)

ARGUMENTS
       Tcl_Interp *interp (in/out)		     The interpreter in which the ensemble is  to
						     be created or found. Also where error result
						     messages are written.  The  functions  whose
						     names  start with Tcl_GetEnsemble may have a
						     NULL for the interp, but all other functions
						     must not.

       const char *name (in)			     The  name of the ensemble command to be cre-
						     ated.

       Tcl_Namespace *namespacePtr (in) 	     The namespace to which the ensemble  command
						     is  to  be  bound,  or  NULL for the current
						     namespace.

       int ensFlags (in)			     An ORed set  of  flag  bits  describing  the
						     basic  configuration  of  the ensemble. Cur-
						     rently only one bit has meaning,  TCL_ENSEM-
						     BLE_PREFIX, which is present when the ensem-
						     ble command should  also  match  unambiguous
						     prefixes of subcommands.

       Tcl_Obj *cmdNameObj (in) 		     A	value  holding	the  name of the ensemble
						     command to look up.

       int flags (in)				     An ORed set of  flag  bits  controlling  the
						     behavior of Tcl_FindEnsemble. Currently only
						     TCL_LEAVE_ERR_MSG is supported.

       Tcl_Command token (in)			     A normal command token  that  refers  to  an
						     ensemble  command,  or which you wish to use
						     for  testing  as  an  ensemble  command   in
						     Tcl_IsEnsemble.

       int *ensFlagsPtr (out)			     Pointer  to  a  variable into which to write
						     the current ensemble  flag  bits;	currently
						     only the bit TCL_ENSEMBLE_PREFIX is defined.

       Tcl_Obj *dictObj (in)			     A dictionary value to use for the subcommand
						     to  implementation  command  prefix  mapping
						     dictionary  in  the ensemble. May be NULL if
						     the mapping dictionary is to be removed.

       Tcl_Obj **dictObjPtr (out)		     Pointer to a variable into  which	to  write
						     the current ensemble mapping dictionary.

       Tcl_Obj *listObj (in)			     A	list value to use for the defined list of
						     subcommands in the dictionary or the unknown
						     subcommmand  handler  command prefix. May be
						     NULL if the subcommand list or unknown  han-
						     dler are to be removed.

       Tcl_Obj **listObjPtr (out)		     Pointer  to  a  variable into which to write
						     the current defiend list of  subcommands  or
						     the current unknown handler prefix.

       Tcl_Namespace **namespacePtrPtr (out)	     Pointer  to  a  variable into which to write
						     the handle of the	namespace  to  which  the
						     ensemble is bound.
_________________________________________________________________

DESCRIPTION
       An  ensemble is a command, bound to some namespace, which consists of a collection of sub-
       commands implemented by other Tcl commands. The first argument to the ensemble command  is
       always interpreted as a selector that states what subcommand to execute.

       Ensembles  are  created	using  Tcl_CreateEnsemble, which takes four arguments: the inter-
       preter to work within, the name of the ensemble to create, the namespace within the inter-
       preter  to  bind the ensemble to, and the default set of ensemble flags. The result of the
       function is the command token for the ensemble, which may be used to further configure the
       ensemble using the API described below in ENSEMBLE PROPERTIES.

       Given  the  name of an ensemble command, the token for that command may be retrieved using
       Tcl_FindEnsemble. If the given command name (in cmdNameObj) does not refer to an  ensemble
       command,  the  result  of the function is NULL and (if the TCL_LEAVE_ERR_MSG bit is set in
       flags) an error message is left in the interpreter result.

       A command token may be checked to see if it refers to an  ensemble  using  Tcl_IsEnsemble.
       This returns 1 if the token refers to an ensemble, or 0 otherwise.

   ENSEMBLE PROPERTIES
       Every  ensemble	has  four  read-write properties and a read-only property. The properties
       are:

       flags (read-write)
	      The set of flags for the ensemble, expressed as a bit-field.  Currently,	the  only
	      public  flag  is TCL_ENSEMBLE_PREFIX which is set when unambiguous prefixes of sub-
	      commands are permitted to be resolved to implementations as well as exact  matches.
	      The  flags  may be read and written using Tcl_GetEnsembleFlags and Tcl_SetEnsemble-
	      Flags respectively. The result of both of those functions  is  a	Tcl  result  code
	      (TCL_OK, or TCL_ERROR if the token does not refer to an ensemble).

       mapping dictionary (read-write)
	      A dictionary containing a mapping from subcommand names to lists of words to use as
	      a command prefix (replacing the first two words of the command which are the ensem-
	      ble  command  itself and the subcommand name), or NULL if every subcommand is to be
	      mapped to the command with the same unqualified name in the ensemble's bound names-
	      pace.  Defaults  to  NULL. May be read and written using Tcl_GetEnsembleMappingDict
	      and Tcl_SetEnsembleMappingDict respectively. The result of both of those	functions
	      is a Tcl result code (TCL_OK, or TCL_ERROR if the token does not refer to an ensem-
	      ble) and the dictionary obtained from Tcl_GetEnsembleMappingDict should  always  be
	      treated as immutable even if it is unshared.  All command names in prefixes set via
	      Tcl_SetEnsembleMappingDict must be fully qualified.

       subcommand list (read-write)
	      A list of all the subcommand names for the ensemble, or  NULL  if  this  is  to  be
	      derived  from  either the keys of the mapping dictionary (see above) or (if that is
	      also NULL) from the set of commands exported by the bound namespace.  May  be  read
	      and  written  using Tcl_GetEnsembleSubcommandList and Tcl_SetEnsembleSubcommandList
	      respectively. The result of both of those functions is a Tcl result  code  (TCL_OK,
	      or TCL_ERROR if the token does not refer to an ensemble) and the list obtained from
	      Tcl_GetEnsembleSubcommandList should always be treated as immutable even if  it  is
	      unshared.

       unknown subcommand handler command prefix (read-write)
	      A  list  of  words to prepend on the front of any subcommand when the subcommand is
	      unknown to the ensemble (according to the current prefix handling  rule);  see  the
	      namespace ensemble command for more details. If NULL, the default behavior - gener-
	      ate a suitable error message - will be used when an unknown subcommand  is  encoun-
	      tered.   May   be   read	 and   written	using  Tcl_GetEnsembleUnknownHandler  and
	      Tcl_SetEnsembleUnknownHandler respectively. The result of both functions is  a  Tcl
	      result  code  (TCL_OK, or TCL_ERROR if the token does not refer to an ensemble) and
	      the list obtained from Tcl_GetEnsembleUnknownHandler should always  be  treated  as
	      immutable even if it is unshared.

       bound namespace (read-only)
	      The namespace to which the ensemble is bound; when the namespace is deleted, so too
	      will the ensemble, and this namespace is also the namespace whose list of  exported
	      commands	is used if both the mapping dictionary and the subcommand list properties
	      are NULL. May be read using Tcl_GetEnsembleNamespace which  returns  a  Tcl  result
	      code (TCL_OK, or TCL_ERROR if the token does not refer to an ensemble).

SEE ALSO
       namespace(n), Tcl_DeleteCommandFromToken(3)

Tcl					       8.5				  Tcl_Ensemble(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 08:02 PM.