\section{Script\-Symbol Class Reference} \label{class_script_symbol}\index{ScriptSymbol@{Script\-Symbol}} This class manages symbol tables for the scripting engine. Symbol table management for scripting engine. {\tt \#include $<$script.h$>$} Inheritance diagram for Script\-Symbol::\begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=3cm]{class_script_symbol} \end{center} \end{figure} \subsection*{Public Methods} \begin{CompactItemize} \item {\bf scriptsymbol\_\-t} $\ast$ {\bf get\-Trigger} (void) \begin{CompactList}\small\item\em Fetch a pending trigger value and clear it.\item\end{CompactList}\item int {\bf get\-Symbol\-Size} (void) \begin{CompactList}\small\item\em Fetch default symbol size.\item\end{CompactList}\item {\bf Script\-Symbol} (int size, int pgsize=1024) \item void $\ast$ {\bf get\-Pointer} (const char $\ast$symbol) \begin{CompactList}\small\item\em Fetch an embedded pointer held in a symbol identifier.\item\end{CompactList}\item bool {\bf set\-Pointer} (const char $\ast$symbol, void $\ast$data) \begin{CompactList}\small\item\em Set an embedded pointer object as a symbol.\item\end{CompactList}\item char $\ast$ {\bf get\-Symbol} (const char $\ast$symbol) \begin{CompactList}\small\item\em Fetch the address of the value of a given symbol identifier.\item\end{CompactList}\item char $\ast$ {\bf set\-Symbol} (const char $\ast$symbol, const char $\ast$value=\char`\"{}\char`\"{}) \begin{CompactList}\small\item\em Set a given symbol to a new value.\item\end{CompactList}\item char $\ast$ {\bf set\-Const} (const char $\ast$symbol, const char $\ast$value=\char`\"{}\char`\"{}) \begin{CompactList}\small\item\em Set a constant value.\item\end{CompactList}\item bool {\bf make\-Sequence} (const char $\ast$id, unsigned char count, unsigned char recsize) \begin{CompactList}\small\item\em Create a sequence object (looping fifo).\item\end{CompactList}\item bool {\bf make\-Stack} (const char $\ast$id, unsigned char count, unsigned char recsize) \begin{CompactList}\small\item\em Create a stack object.\item\end{CompactList}\item bool {\bf make\-Fifo} (const char $\ast$id, unsigned char count, unsigned char recsize) \begin{CompactList}\small\item\em Create a fifo object.\item\end{CompactList}\item bool {\bf make\-Counter} (const char $\ast$id) \begin{CompactList}\small\item\em Create an automatic counter object.\item\end{CompactList}\item bool {\bf post\-Symbol} ({\bf scriptsymbol\_\-t} $\ast$sym, const char $\ast$value) \begin{CompactList}\small\item\em Post data into a fifo.\item\end{CompactList}\item bool {\bf remove\-Symbol} ({\bf scriptsymbol\_\-t} $\ast$sym, const char $\ast$value) \begin{CompactList}\small\item\em Remove entry from a queue.\item\end{CompactList}\item char $\ast$ {\bf read\-Symbol} ({\bf scriptsymbol\_\-t} $\ast$sym) \begin{CompactList}\small\item\em Read symbol handles special symbol types.\item\end{CompactList}\item bool {\bf set\-Alias} (const char $\ast$symbol, const char $\ast$source) \begin{CompactList}\small\item\em Set an alias.\item\end{CompactList}\item {\bf scriptsymbol\_\-t} $\ast$ {\bf get\-Alias} (const char $\ast$symbol) \begin{CompactList}\small\item\em Get an alias.\item\end{CompactList}\item char $\ast$ {\bf set\-Symbol} (const char $\ast$symbol, int size=0) \begin{CompactList}\small\item\em Create a new symbol entry of a specified size.\item\end{CompactList}\item void {\bf clr\-Symbol} (const char $\ast$id) \begin{CompactList}\small\item\em Clear a symbol definition.\item\end{CompactList}\item void {\bf Purge} (void) \begin{CompactList}\small\item\em Purge user defined symbols and memory space.\item\end{CompactList}\item unsigned {\bf Gather} ({\bf scriptsymbol\_\-t} $\ast$$\ast$index, unsigned max, const char $\ast$prefrix, const char $\ast$suffix=NULL) \begin{CompactList}\small\item\em Gather a listing of common script symbols.\item\end{CompactList}\end{CompactItemize} \subsection*{Protected Methods} \begin{CompactItemize} \item virtual {\bf scriptsymbol\_\-t} $\ast$ {\bf get\-Entry} (const char $\ast$symbol, int size=0) \begin{CompactList}\small\item\em Fetch a symbol entry.\item\end{CompactList}\item virtual void {\bf Commit} ({\bf scriptsymbol\_\-t} $\ast$sym) \begin{CompactList}\small\item\em A virtual method used when \char`\"{}committing\char`\"{} symbol changes.\item\end{CompactList}\end{CompactItemize} \subsection*{Friends} \begin{CompactItemize} \item class {\bf Script\-Interp} \end{CompactItemize} \subsection{Detailed Description} This class manages symbol tables for the scripting engine. Symbol table management for scripting engine. A symbol is a variable with a reserved memory space. Some derived systems, like Bayonne IVR, may make use of a channel specific and global symbol tables. \begin{Desc} \item[Author: ]\par David Sugar $<${\tt dyfet@ostel.com}$>$ \end{Desc} \subsection{Constructor \& Destructor Documentation} \index{ScriptSymbol@{Script\-Symbol}!ScriptSymbol@{ScriptSymbol}} \index{ScriptSymbol@{ScriptSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Script\-Symbol::Script\-Symbol (int {\em size}, int {\em pgsize} = 1024)}\label{class_script_symbol_a2} \subsection{Member Function Documentation} \index{ScriptSymbol@{Script\-Symbol}!Commit@{Commit}} \index{Commit@{Commit}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void Script\-Symbol::Commit ({\bf scriptsymbol\_\-t} $\ast$ {\em sym})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_script_symbol_b1} A virtual method used when \char`\"{}committing\char`\"{} symbol changes. Normally this is a non-operation, but when system specific dialects are created, special symbols that must be converted from strings into other kinds of internal data types, or that might perform operations can be represented with the commit.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]to commit. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!Gather@{Gather}} \index{Gather@{Gather}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned Script\-Symbol::Gather ({\bf scriptsymbol\_\-t} $\ast$$\ast$ {\em index}, unsigned {\em max}, const char $\ast$ {\em prefrix}, const char $\ast$ {\em suffix} = NULL)}\label{class_script_symbol_a20} Gather a listing of common script symbols. \index{ScriptSymbol@{Script\-Symbol}!Purge@{Purge}} \index{Purge@{Purge}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Script\-Symbol::Purge (void)}\label{class_script_symbol_a19} Purge user defined symbols and memory space. \index{ScriptSymbol@{Script\-Symbol}!clrSymbol@{clrSymbol}} \index{clrSymbol@{clrSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Script\-Symbol::clr\-Symbol (const char $\ast$ {\em id})}\label{class_script_symbol_a18} Clear a symbol definition. This does not remove the entry if it already exists. It mearly clears the initial flag so it still can appear undefined.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to clear. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getAlias@{getAlias}} \index{getAlias@{getAlias}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf scriptsymbol\_\-t}$\ast$ Script\-Symbol::get\-Alias (const char $\ast$ {\em symbol})}\label{class_script_symbol_a16} Get an alias. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to find. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par script symbol object or NULL. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getEntry@{getEntry}} \index{getEntry@{getEntry}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf scriptsymbol\_\-t}$\ast$ Script\-Symbol::get\-Entry (const char $\ast$ {\em symbol}, int {\em size} = 0)\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_script_symbol_b0} Fetch a symbol entry. Normally this is presumed to be from the native symbol table. However, the use of a virtual allows one to derive special \char`\"{}system\char`\"{} symbols as needed for Bayonne dialects, as well as specify special attributes and properties for system symbols. For example, in the Bayonne IVR, symbols might be used to retrieve the current DTMF digit buffer and count, but these are stored as and manipulated in a channel structure rather than in \char`\"{}symbol space\char`\"{}. \begin{Desc} \item[Returns: ]\par symbol entry or NULL if not found. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to find or create. \item[{\em size}]of symbol space to create if not found. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getPointer@{getPointer}} \index{getPointer@{getPointer}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ Script\-Symbol::get\-Pointer (const char $\ast$ {\em symbol})}\label{class_script_symbol_a3} Fetch an embedded pointer held in a symbol identifier. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par pointer held in symbol or NULL. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getSymbol@{getSymbol}} \index{getSymbol@{getSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Script\-Symbol::get\-Symbol (const char $\ast$ {\em symbol})}\label{class_script_symbol_a5} Fetch the address of the value of a given symbol identifier. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par symbol buffer address, or NULL if not found. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getSymbolSize@{getSymbolSize}} \index{getSymbolSize@{getSymbolSize}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Script\-Symbol::get\-Symbol\-Size (void)\hspace{0.3cm}{\tt [inline]}}\label{class_script_symbol_a1} Fetch default symbol size. \begin{Desc} \item[Returns: ]\par default symbol size. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!getTrigger@{getTrigger}} \index{getTrigger@{getTrigger}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf scriptsymbol\_\-t}$\ast$ Script\-Symbol::get\-Trigger (void)}\label{class_script_symbol_a0} Fetch a pending trigger value and clear it. \begin{Desc} \item[Returns: ]\par symbol trigger that is active. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!makeCounter@{makeCounter}} \index{makeCounter@{makeCounter}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::make\-Counter (const char $\ast$ {\em id})}\label{class_script_symbol_a11} Create an automatic counter object. \begin{Desc} \item[Returns: ]\par false if fail. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of counter. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!makeFifo@{makeFifo}} \index{makeFifo@{makeFifo}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::make\-Fifo (const char $\ast$ {\em id}, unsigned char {\em count}, unsigned char {\em recsize})}\label{class_script_symbol_a10} Create a fifo object. \begin{Desc} \item[Returns: ]\par false if fail. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of fifo. \item[{\em number}]of records. \item[{\em size}]of record. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!makeSequence@{makeSequence}} \index{makeSequence@{makeSequence}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::make\-Sequence (const char $\ast$ {\em id}, unsigned char {\em count}, unsigned char {\em recsize})}\label{class_script_symbol_a8} Create a sequence object (looping fifo). \begin{Desc} \item[Returns: ]\par false if fail. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of sequence. \item[{\em max.}]number of sequences. \item[{\em size}]of sequence data record. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!makeStack@{makeStack}} \index{makeStack@{makeStack}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::make\-Stack (const char $\ast$ {\em id}, unsigned char {\em count}, unsigned char {\em recsize})}\label{class_script_symbol_a9} Create a stack object. \begin{Desc} \item[Returns: ]\par false if fail. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of stack. \item[{\em number}]of entries. \item[{\em size}]of record. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!postSymbol@{postSymbol}} \index{postSymbol@{postSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::post\-Symbol ({\bf scriptsymbol\_\-t} $\ast$ {\em sym}, const char $\ast$ {\em value})}\label{class_script_symbol_a12} Post data into a fifo. \begin{Desc} \item[Returns: ]\par false if full. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]object to post. \item[{\em data}]value to post. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!readSymbol@{readSymbol}} \index{readSymbol@{readSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Script\-Symbol::read\-Symbol ({\bf scriptsymbol\_\-t} $\ast$ {\em sym})}\label{class_script_symbol_a14} Read symbol handles special symbol types. \begin{Desc} \item[Returns: ]\par data of symbol. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol.}]\end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!removeSymbol@{removeSymbol}} \index{removeSymbol@{removeSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::remove\-Symbol ({\bf scriptsymbol\_\-t} $\ast$ {\em sym}, const char $\ast$ {\em value})}\label{class_script_symbol_a13} Remove entry from a queue. \begin{Desc} \item[Returns: ]\par false if invalid. \end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]object to remove from. \item[{\em data}]value to find and remove. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!setAlias@{setAlias}} \index{setAlias@{setAlias}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::set\-Alias (const char $\ast$ {\em symbol}, const char $\ast$ {\em source})}\label{class_script_symbol_a15} Set an alias. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to alias. \item[{\em value}]of alias to set. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par bool if not set, else value. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!setConst@{setConst}} \index{setConst@{setConst}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Script\-Symbol::set\-Const (const char $\ast$ {\em symbol}, const char $\ast$ {\em value} = \char`\"{}\char`\"{})}\label{class_script_symbol_a7} Set a constant value. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to find. \item[{\em value}]string to set. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par NULL if not found, else value. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!setPointer@{setPointer}} \index{setPointer@{setPointer}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Script\-Symbol::set\-Pointer (const char $\ast$ {\em symbol}, void $\ast$ {\em data})}\label{class_script_symbol_a4} Set an embedded pointer object as a symbol. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name. \item[{\em data}]pointer to save. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par true if successful. \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!setSymbol@{setSymbol}} \index{setSymbol@{setSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Script\-Symbol::set\-Symbol (const char $\ast$ {\em symbol}, int {\em size} = 0)}\label{class_script_symbol_a17} Create a new symbol entry of a specified size. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to create. \item[{\em size}]of symbol, otherwise default size used. \item[{\em buffer}]or NULL if exists. \end{description} \end{Desc} \index{ScriptSymbol@{Script\-Symbol}!setSymbol@{setSymbol}} \index{setSymbol@{setSymbol}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Script\-Symbol::set\-Symbol (const char $\ast$ {\em symbol}, const char $\ast$ {\em value} = \char`\"{}\char`\"{})}\label{class_script_symbol_a6} Set a given symbol to a new value. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em symbol}]name to find. \item[{\em value}]string to set. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par NULL if not found, else value. \end{Desc} \subsection{Friends And Related Function Documentation} \index{ScriptSymbol@{Script\-Symbol}!ScriptInterp@{ScriptInterp}} \index{ScriptInterp@{ScriptInterp}!ScriptSymbol@{Script\-Symbol}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class Script\-Interp\hspace{0.3cm}{\tt [friend]}}\label{class_script_symbol_l0} The documentation for this class was generated from the following file:\begin{CompactItemize} \item {\bf script.h}\end{CompactItemize}