\hypertarget{class_qore_1_1_program_control}{}\doxysection{Qore\+::Program\+Control Class Reference}
\label{class_qore_1_1_program_control}\index{Qore::ProgramControl@{Qore::ProgramControl}}


The \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} class provides safe information about a \mbox{\hyperlink{namespace_qore}{Qore}} program.  




{\ttfamily \#include $<$QC\+\_\+\+Program\+Control.\+dox.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_qore_1_1_program_control_a4cf779097901a5317a74c4b3e12cc0cc}\label{class_qore_1_1_program_control_a4cf779097901a5317a74c4b3e12cc0cc}} 
nothing {\bfseries assign\+Breakpoint} (\mbox{\hyperlink{class_qore_1_1_breakpoint}{Breakpoint}} bkpt)
\begin{DoxyCompactList}\small\item\em Assign \mbox{\hyperlink{class_qore_1_1_breakpoint}{Breakpoint}} instance to \mbox{\hyperlink{class_qore_1_1_program}{Program}}. If breakpoint has been assigned to an program then is unassigned in the first step. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_qore_1_1_program_control_a9363b8774592c6e8390a9866ed892d54}{constructor}} ()
\begin{DoxyCompactList}\small\item\em Throws an exception to prevent objects of this class being created from script. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_qore_1_1_program_control_ac348d9a7fec40ba285d3b0cc5eb84ce2}{copy}} ()
\begin{DoxyCompactList}\small\item\em Throws an exception to prevent objects of this class from being copied. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_qore_1_1_program_control_a8065f609b0276231c667317dcf3ce3de}\label{class_qore_1_1_program_control_a8065f609b0276231c667317dcf3ce3de}} 
nothing {\bfseries delete\+All\+Breakpoints} ()
\begin{DoxyCompactList}\small\item\em delete all breakpoints from instance \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_qore_1_1_program_control_a3ad9ba1f79c60b7d54115f156fa2f58a}\label{class_qore_1_1_program_control_a3ad9ba1f79c60b7d54115f156fa2f58a}} 
{\bfseries destructor} ()
\begin{DoxyCompactList}\small\item\em Dereferences the internal \mbox{\hyperlink{class_qore_1_1_program}{Program}} object and deletes the Qore object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_qore_1_1_program_control_ad2b36a5d67e9e5d53d26a0d7980a35b0}{exists\+Function}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} name)
\begin{DoxyCompactList}\small\item\em Checks if a user function exists in the program object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}{find\+Function\+Statement\+Id}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} function, \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}} params)
\begin{DoxyCompactList}\small\item\em Find the first statement for function entry point. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ $>$ \mbox{\hyperlink{class_qore_1_1_program_control_aa1ecfc593846a36f2a5de36816d3720d}{find\+Function\+Variants}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} function)
\begin{DoxyCompactList}\small\item\em finds all variants of a function or class method and returns a list of the results \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{class_qore_1_1_program_control_a54ddbeb0e99bec0bf26b881e4c94fbaf}{find\+Statement\+Id}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} file, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} line)
\begin{DoxyCompactList}\small\item\em Find statement related to position in file. \end{DoxyCompactList}\item 
\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ \mbox{\hyperlink{class_qore_1_1_program_control_ab0a2f64ac6610754d0bb716401b0e72c}{get\+All\+Defines}} ()
\begin{DoxyCompactList}\small\item\em Retrieves all \mbox{\hyperlink{conditional_parsing}{parse defines}} in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_qore_1_1_program_control_a5c2cb6082c9e6774cb959334fa937a10}\label{class_qore_1_1_program_control_a5c2cb6082c9e6774cb959334fa937a10}} 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{class_qore_1_1_breakpoint}{Breakpoint}} $>$ {\bfseries get\+Breakpoints} ()
\begin{DoxyCompactList}\small\item\em get list of breakpoint assigned to program. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{class_qore_1_1_program_control_a95ff1d2926c23cede85eab60936e5e29}{get\+Define}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} def)
\begin{DoxyCompactList}\small\item\em Retrieves the value of the given \mbox{\hyperlink{conditional_parsing}{parse define}} in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}}. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{class_qore_1_1_program_control_a3bec6a760fbbd3e7ec56b40571adc2fa}{get\+Global\+Variable}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} varname, \+\_\+\+\_\+7\+\_\+ reference$<$ bool $>$ rexists)
\begin{DoxyCompactList}\small\item\em Returns a the value of the global variable identified by the first string argument. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ \mbox{\hyperlink{class_qore_1_1_program_control_ab6964a72203ac8349031b53faf15cab4}{get\+Global\+Vars}} ()
\begin{DoxyCompactList}\small\item\em returns a hash of global variables \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{class_qore_1_1_program_control_a6b99c934d58ee88fa791bc85c710aba9}{get\+Parse\+Options}} ()
\begin{DoxyCompactList}\small\item\em Returns the current binary-\/or\textquotesingle{}ed parse option mask for the \mbox{\hyperlink{class_qore_1_1_program}{Program}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{class_qore_1_1_program_control_a7fd91dbedd3e6f8119415c97f4764068}{get\+Program\+Id}} ()
\begin{DoxyCompactList}\small\item\em Get program id. \end{DoxyCompactList}\item 
\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{class_qore_1_1_program_control_a1449395f81bca7a08436f5c354ffdc0f}{get\+Script\+Dir}} ()
\begin{DoxyCompactList}\small\item\em Returns the current script directory as a string or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if not set. \end{DoxyCompactList}\item 
\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{class_qore_1_1_program_control_ab5f972a7a3ce33adb40e753adefa7d2a}{get\+Script\+Name}} ()
\begin{DoxyCompactList}\small\item\em Returns the current script name as a string or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if not set. \end{DoxyCompactList}\item 
\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{class_qore_1_1_program_control_a6162c8fa3953e9966500252c02de6b26}{get\+Script\+Path}} ()
\begin{DoxyCompactList}\small\item\em Returns the current script directory and filename if known, otherwise returns \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ $>$ \mbox{\hyperlink{class_qore_1_1_program_control_ac8271ff9a23b88448907b5f316bc7273}{get\+Source\+File\+Names}} ()
\begin{DoxyCompactList}\small\item\em Returns a list of file names registered to a statement when parsing source code. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ $>$ \mbox{\hyperlink{class_qore_1_1_program_control_a1843638a83940c8898d459cd72291c42}{get\+Source\+Labels}} ()
\begin{DoxyCompactList}\small\item\em Get list of label names which has been registered to a statement when parsing source code. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{struct_qore_1_1_statement_info}{Statement\+Info}} $>$ \mbox{\hyperlink{class_qore_1_1_program_control_ac95c2262d37003ea882ca5efa4f65224}{get\+Statement\+Id\+Info}} (\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} statement\+Id, bool list\+Breakpoints=\mbox{\hyperlink{group__boolean__constants_ga9da2b9a8003cd3788e48305f8a00540f}{False}})
\begin{DoxyCompactList}\small\item\em get information related to statement id \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ \mbox{\hyperlink{class_qore_1_1_program_control_afa3eb816a22533f88d551979f1b73e4c}{get\+Thread\+List}} ()
\begin{DoxyCompactList}\small\item\em returns a list of thread IDs active in this \mbox{\hyperlink{class_qore_1_1_program}{Program}} \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_qore_1_1_time_zone}{Time\+Zone}} \mbox{\hyperlink{class_qore_1_1_program_control_a8e84c26e83f0cafbd44744f12e1dc222}{get\+Time\+Zone}} ()
\begin{DoxyCompactList}\small\item\em Returns the default local time zone for the object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_qore_1_1_program_control_a32cc156d0ffc5acbaa07024a6e608054}{is\+Defined}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} def)
\begin{DoxyCompactList}\small\item\em Returns \mbox{\hyperlink{basic_data_types_True}{True}} if the given \mbox{\hyperlink{conditional_parsing}{parse define}} is defined in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}} (does not have to have a value defined to return \mbox{\hyperlink{basic_data_types_True}{True}}), \mbox{\hyperlink{basic_data_types_False}{False}} if not. \end{DoxyCompactList}\item 
nothing \mbox{\hyperlink{class_qore_1_1_program_control_a6eb9d55130f50a7de658df13578ead30}{set\+Global\+Var\+Value}} (\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} name, auto value)
\begin{DoxyCompactList}\small\item\em set the value of a global variable \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} $>$ \mbox{\hyperlink{class_qore_1_1_program_control_a41adafc4d94ea7ad0d9914fc14e312d3}{get\+All\+Programs}} ()
\begin{DoxyCompactList}\small\item\em Get instance of all programs. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} \mbox{\hyperlink{class_qore_1_1_program_control_a78bd0f7dcf619ef86f761f602538d43a}{get\+Program}} ()
\begin{DoxyCompactList}\small\item\em Get control for instance of current program. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} \mbox{\hyperlink{class_qore_1_1_program_control_a9081e6558184f273e13c1da3b745c27a}{resolve\+Program\+Id}} (\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} program\+Id)
\begin{DoxyCompactList}\small\item\em Get instance of program id. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} class provides safe information about a \mbox{\hyperlink{namespace_qore}{Qore}} program. 

\begin{DoxyParagraph}{Restrictions\+:}
MUST HAVE\+: \mbox{\hyperlink{group__parse__options_gad0d38cd46f08bf4210d4010204269cc9}{Qore\+::\+PO\+\_\+\+ALLOW\+\_\+\+DEBUGGER}}
\end{DoxyParagraph}
The object is never instantiated in script but returned by a API function. The class provides only safe data non breaking security model.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program}{Program}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+13 
\end{DoxySince}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_qore_1_1_program_control_a9363b8774592c6e8390a9866ed892d54}\label{class_qore_1_1_program_control_a9363b8774592c6e8390a9866ed892d54}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!constructor@{constructor}}
\index{constructor@{constructor}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{constructor()}{constructor()}}
{\footnotesize\ttfamily Qore\+::\+Program\+Control\+::constructor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Throws an exception to prevent objects of this class being created from script. 


\begin{DoxyExceptions}{Exceptions}
{\em PROGRAM-\/\+CREATE-\/\+ERROR} & copying \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} objects is currently unsupported \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{class_qore_1_1_program_control_ac348d9a7fec40ba285d3b0cc5eb84ce2}\label{class_qore_1_1_program_control_ac348d9a7fec40ba285d3b0cc5eb84ce2}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!copy@{copy}}
\index{copy@{copy}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily Qore\+::\+Program\+Control\+::copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Throws an exception to prevent objects of this class from being copied. 


\begin{DoxyExceptions}{Exceptions}
{\em PROGRAM-\/\+COPY-\/\+ERROR} & copying \mbox{\hyperlink{class_qore_1_1_program}{Program}} objects is currently unsupported \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{class_qore_1_1_program_control_ad2b36a5d67e9e5d53d26a0d7980a35b0}\label{class_qore_1_1_program_control_ad2b36a5d67e9e5d53d26a0d7980a35b0}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!existsFunction@{existsFunction}}
\index{existsFunction@{existsFunction}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{existsFunction()}{existsFunction()}}
{\footnotesize\ttfamily bool Qore\+::\+Program\+Control\+::exists\+Function (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{name }\end{DoxyParamCaption})}



Checks if a user function exists in the program object. 

\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}}
\end{DoxyParagraph}
see \mbox{\hyperlink{class_qore_1_1_program_abefc819b0a8654efc1174971e06e8c5a}{Qore\+::\+Program\+::exists\+Function}} \char`\"{}\+Program\+::exists\+Function()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}\label{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!findFunctionStatementId@{findFunctionStatementId}}
\index{findFunctionStatementId@{findFunctionStatementId}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{findFunctionStatementId()}{findFunctionStatementId()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} Qore\+::\+Program\+Control\+::find\+Function\+Statement\+Id (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{function,  }\item[{\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}}]{params }\end{DoxyParamCaption})}



Find the first statement for function entry point. 


\begin{DoxyParams}{Parameters}
{\em function} & name \\
\hline
{\em params} & param types to resolve particular variant\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_a54ddbeb0e99bec0bf26b881e4c94fbaf}{Program\+Control\+::find\+Statement\+Id()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_qore_1_1_program_control_aa1ecfc593846a36f2a5de36816d3720d}\label{class_qore_1_1_program_control_aa1ecfc593846a36f2a5de36816d3720d}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!findFunctionVariants@{findFunctionVariants}}
\index{findFunctionVariants@{findFunctionVariants}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{findFunctionVariants()}{findFunctionVariants()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ $>$ Qore\+::\+Program\+Control\+::find\+Function\+Variants (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{function }\end{DoxyParamCaption})}



finds all variants of a function or class method and returns a list of the results 


\begin{DoxyParams}{Parameters}
{\em function} & the function or class method name; may also be namespace-\/justified\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a list of hashes or nothing if the name cannot be resolved; when matched, each hash element has the following keys\+:
\begin{DoxyItemize}
\item {\ttfamily desc\+:} a string description of the call which includes the name and the full text call signature
\item {\ttfamily params\+:} a list object that gives the params in a format that can be used by \mbox{\hyperlink{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}{find\+Function\+Statement\+Id}} 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{class_qore_1_1_program_control_a54ddbeb0e99bec0bf26b881e4c94fbaf}\label{class_qore_1_1_program_control_a54ddbeb0e99bec0bf26b881e4c94fbaf}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!findStatementId@{findStatementId}}
\index{findStatementId@{findStatementId}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{findStatementId()}{findStatementId()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} Qore\+::\+Program\+Control\+::find\+Statement\+Id (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{file,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{line }\end{DoxyParamCaption})}



Find statement related to position in file. 


\begin{DoxyParams}{Parameters}
{\em file} & name where is looking for. Searching is done in three steps, in the first one is looking for full name match, in the second is looking for label full match (if exists) and in the third for end suffix match. \mbox{\hyperlink{class_qore_1_1_file}{File}} can by empty if program contains only one file. Beware of label formating, see \mbox{\hyperlink{class_qore_1_1_program_a20eecce42e3661e7c837291b78c76006}{Qore\+::\+Program\+::parse}} \\
\hline
{\em line} & to find statement. In case of multiple statements of line the first one is found\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}{Program\+Control\+::find\+Function\+Statement\+Id()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_qore_1_1_program_control_ab0a2f64ac6610754d0bb716401b0e72c}\label{class_qore_1_1_program_control_ab0a2f64ac6610754d0bb716401b0e72c}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getAllDefines@{getAllDefines}}
\index{getAllDefines@{getAllDefines}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getAllDefines()}{getAllDefines()}}
{\footnotesize\ttfamily \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ Qore\+::\+Program\+Control\+::get\+All\+Defines (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Retrieves all \mbox{\hyperlink{conditional_parsing}{parse defines}} in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}}. 

see \mbox{\hyperlink{class_qore_1_1_program_a0b4b1293de9458fa9e5c430bedd6725f}{Qore\+::\+Program\+::get\+All\+Defines}} \char`\"{}\+Program\+::get\+All\+Defines()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a41adafc4d94ea7ad0d9914fc14e312d3}\label{class_qore_1_1_program_control_a41adafc4d94ea7ad0d9914fc14e312d3}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getAllPrograms@{getAllPrograms}}
\index{getAllPrograms@{getAllPrograms}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getAllPrograms()}{getAllPrograms()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} $>$ Qore\+::\+Program\+Control\+::get\+All\+Programs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get instance of all programs. 

\begin{DoxyParagraph}{Restrictions\+:}
MUST HAVE\+: \mbox{\hyperlink{group__parse__options_gad0d38cd46f08bf4210d4010204269cc9}{Qore\+::\+PO\+\_\+\+ALLOW\+\_\+\+DEBUGGER}}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}}
\end{DoxyParagraph}
Use \mbox{\hyperlink{class_qore_1_1_program_control_a9081e6558184f273e13c1da3b745c27a}{Program\+Control\+::resolve\+Program\+Id()}} to get instance \mbox{\Hypertarget{class_qore_1_1_program_control_a95ff1d2926c23cede85eab60936e5e29}\label{class_qore_1_1_program_control_a95ff1d2926c23cede85eab60936e5e29}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getDefine@{getDefine}}
\index{getDefine@{getDefine}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getDefine()}{getDefine()}}
{\footnotesize\ttfamily auto Qore\+::\+Program\+Control\+::get\+Define (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{def }\end{DoxyParamCaption})}



Retrieves the value of the given \mbox{\hyperlink{conditional_parsing}{parse define}} in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}}. 

see \mbox{\hyperlink{class_qore_1_1_program_a82ba5819f483199901331e27908c9749}{Qore\+::\+Program\+::get\+Define}} \char`\"{}\+Program\+::get\+Define()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a3bec6a760fbbd3e7ec56b40571adc2fa}\label{class_qore_1_1_program_control_a3bec6a760fbbd3e7ec56b40571adc2fa}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getGlobalVariable@{getGlobalVariable}}
\index{getGlobalVariable@{getGlobalVariable}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getGlobalVariable()}{getGlobalVariable()}}
{\footnotesize\ttfamily auto Qore\+::\+Program\+Control\+::get\+Global\+Variable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{varname,  }\item[{\+\_\+\+\_\+7\+\_\+ reference$<$ bool $>$}]{rexists }\end{DoxyParamCaption})}



Returns a the value of the global variable identified by the first string argument. 

see \mbox{\hyperlink{class_qore_1_1_program_a060d0ab426b9ce6a5a8aeaf59010afa0}{Qore\+::\+Program\+::get\+Global\+Variable}} \char`\"{}\+Program\+::get\+Global\+Variable()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_ab6964a72203ac8349031b53faf15cab4}\label{class_qore_1_1_program_control_ab6964a72203ac8349031b53faf15cab4}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getGlobalVars@{getGlobalVars}}
\index{getGlobalVars@{getGlobalVars}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getGlobalVars()}{getGlobalVars()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ auto $>$ Qore\+::\+Program\+Control\+::get\+Global\+Vars (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



returns a hash of global variables 

\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_CONSTANT}{CONSTANT}}
\end{DoxyParagraph}
see \mbox{\hyperlink{class_qore_1_1_program_a8972d56091155c387b1b9b1fc6b6a197}{Qore\+::\+Program\+::get\+Global\+Vars}} \char`\"{}\+Program\+::get\+Global\+Vars()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a6b99c934d58ee88fa791bc85c710aba9}\label{class_qore_1_1_program_control_a6b99c934d58ee88fa791bc85c710aba9}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getParseOptions@{getParseOptions}}
\index{getParseOptions@{getParseOptions}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getParseOptions()}{getParseOptions()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} Qore\+::\+Program\+Control\+::get\+Parse\+Options (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the current binary-\/or\textquotesingle{}ed parse option mask for the \mbox{\hyperlink{class_qore_1_1_program}{Program}} object. 

see \mbox{\hyperlink{class_qore_1_1_program_a3d866874a2a1935fd30554217e01234e}{Qore\+::\+Program\+::get\+Parse\+Options}} \char`\"{}\+Program\+::get\+Parse\+Options()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a78bd0f7dcf619ef86f761f602538d43a}\label{class_qore_1_1_program_control_a78bd0f7dcf619ef86f761f602538d43a}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getProgram@{getProgram}}
\index{getProgram@{getProgram}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getProgram()}{getProgram()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} Qore\+::\+Program\+Control\+::get\+Program (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get control for instance of current program. 

\begin{DoxyParagraph}{Restrictions\+:}
MUST HAVE\+: \mbox{\hyperlink{group__parse__options_gad0d38cd46f08bf4210d4010204269cc9}{Qore\+::\+PO\+\_\+\+ALLOW\+\_\+\+DEBUGGER}}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}} 
\end{DoxyParagraph}
\mbox{\Hypertarget{class_qore_1_1_program_control_a7fd91dbedd3e6f8119415c97f4764068}\label{class_qore_1_1_program_control_a7fd91dbedd3e6f8119415c97f4764068}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getProgramId@{getProgramId}}
\index{getProgramId@{getProgramId}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getProgramId()}{getProgramId()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} Qore\+::\+Program\+Control\+::get\+Program\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get program id. 

\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}}
\end{DoxyParagraph}
see \mbox{\hyperlink{class_qore_1_1_program_a97df6d56c39b48b1aac5404c163cff61}{Qore\+::\+Program\+::get\+Program\+Id}} \char`\"{}\+Program\+::get\+Program\+Id()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a1449395f81bca7a08436f5c354ffdc0f}\label{class_qore_1_1_program_control_a1449395f81bca7a08436f5c354ffdc0f}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getScriptDir@{getScriptDir}}
\index{getScriptDir@{getScriptDir}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getScriptDir()}{getScriptDir()}}
{\footnotesize\ttfamily \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} Qore\+::\+Program\+Control\+::get\+Script\+Dir (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the current script directory as a string or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if not set. 

see \mbox{\hyperlink{class_qore_1_1_program_a8d96549d48cf1707054dc48f5bde4004}{Qore\+::\+Program\+::get\+Script\+Dir}} \char`\"{}\+Program\+::get\+Script\+Dir()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_ab5f972a7a3ce33adb40e753adefa7d2a}\label{class_qore_1_1_program_control_ab5f972a7a3ce33adb40e753adefa7d2a}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getScriptName@{getScriptName}}
\index{getScriptName@{getScriptName}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getScriptName()}{getScriptName()}}
{\footnotesize\ttfamily \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} Qore\+::\+Program\+Control\+::get\+Script\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the current script name as a string or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if not set. 

see \mbox{\hyperlink{class_qore_1_1_program_aeabcc63c1d60f6efd6878bbb658a3be5}{Qore\+::\+Program\+::get\+Script\+Path}} \char`\"{}\+Program\+::get\+Script\+Path()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a6162c8fa3953e9966500252c02de6b26}\label{class_qore_1_1_program_control_a6162c8fa3953e9966500252c02de6b26}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getScriptPath@{getScriptPath}}
\index{getScriptPath@{getScriptPath}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getScriptPath()}{getScriptPath()}}
{\footnotesize\ttfamily \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} Qore\+::\+Program\+Control\+::get\+Script\+Path (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the current script directory and filename if known, otherwise returns \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}}. 

see \mbox{\hyperlink{class_qore_1_1_program_aeabcc63c1d60f6efd6878bbb658a3be5}{Qore\+::\+Program\+::get\+Script\+Path}} \char`\"{}\+Program\+::get\+Script\+Path()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_ac8271ff9a23b88448907b5f316bc7273}\label{class_qore_1_1_program_control_ac8271ff9a23b88448907b5f316bc7273}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getSourceFileNames@{getSourceFileNames}}
\index{getSourceFileNames@{getSourceFileNames}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getSourceFileNames()}{getSourceFileNames()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ $>$ Qore\+::\+Program\+Control\+::get\+Source\+File\+Names (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns a list of file names registered to a statement when parsing source code. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_a1843638a83940c8898d459cd72291c42}{Program\+Control\+::get\+Source\+Labels()}}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
a hash where keys are file names and the value is hash of labels, in this hash, the keys are label names and values are the label\textquotesingle{}s section offset in the file.
\end{DoxyReturn}
\begin{DoxySince}{Since}
Qore 0.\+8.\+13.\+3 
\end{DoxySince}
\mbox{\Hypertarget{class_qore_1_1_program_control_a1843638a83940c8898d459cd72291c42}\label{class_qore_1_1_program_control_a1843638a83940c8898d459cd72291c42}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getSourceLabels@{getSourceLabels}}
\index{getSourceLabels@{getSourceLabels}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getSourceLabels()}{getSourceLabels()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ $>$ Qore\+::\+Program\+Control\+::get\+Source\+Labels (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get list of label names which has been registered to a statement when parsing source code. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_ac8271ff9a23b88448907b5f316bc7273}{Program\+Control\+::get\+Source\+File\+Names()}}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
a hash where keys are file names and the value is hash of labels, in this hash, the keys are label names and values are the label\textquotesingle{}s section offset in the file.
\end{DoxyReturn}
\begin{DoxySince}{Since}
Qore 0.\+8.\+13.\+3 
\end{DoxySince}
\mbox{\Hypertarget{class_qore_1_1_program_control_ac95c2262d37003ea882ca5efa4f65224}\label{class_qore_1_1_program_control_ac95c2262d37003ea882ca5efa4f65224}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getStatementIdInfo@{getStatementIdInfo}}
\index{getStatementIdInfo@{getStatementIdInfo}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getStatementIdInfo()}{getStatementIdInfo()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga24ee71727f0785d3b826833ed6f5e2ee}{hash}}$<$ \mbox{\hyperlink{struct_qore_1_1_statement_info}{Statement\+Info}} $>$ Qore\+::\+Program\+Control\+::get\+Statement\+Id\+Info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{statement\+Id,  }\item[{bool}]{list\+Breakpoints = {\ttfamily \mbox{\hyperlink{group__boolean__constants_ga9da2b9a8003cd3788e48305f8a00540f}{False}}} }\end{DoxyParamCaption})}



get information related to statement id 


\begin{DoxyParams}{Parameters}
{\em statement\+Id} & \\
\hline
{\em list\+Breakpoints} & list also breakpoints assigned to statement, no effect if \mbox{\hyperlink{parse_directives_no-debugging}{\%no-\/debugging}} (since 0.\+9)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hash of statement info
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_a54ddbeb0e99bec0bf26b881e4c94fbaf}{Program\+Control\+::find\+Statement\+Id()}} \mbox{\hyperlink{class_qore_1_1_program_control_abeb009c4ccc44659d90584bff3e8ff4b}{Program\+Control\+::find\+Function\+Statement\+Id()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_qore_1_1_program_control_afa3eb816a22533f88d551979f1b73e4c}\label{class_qore_1_1_program_control_afa3eb816a22533f88d551979f1b73e4c}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getThreadList@{getThreadList}}
\index{getThreadList@{getThreadList}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getThreadList()}{getThreadList()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ Qore\+::\+Program\+Control\+::get\+Thread\+List (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



returns a list of thread IDs active in this \mbox{\hyperlink{class_qore_1_1_program}{Program}} 

\begin{DoxyParagraph}{Code Flags\+:}
\mbox{\hyperlink{code_flags_CONSTANT}{CONSTANT}}
\end{DoxyParagraph}
see \mbox{\hyperlink{class_qore_1_1_program_a12070c596d8d8dd85006a3cb0d885da4}{Qore\+::\+Program\+::get\+Thread\+List}} \char`\"{}\+Program\+::get\+Thread\+List()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a8e84c26e83f0cafbd44744f12e1dc222}\label{class_qore_1_1_program_control_a8e84c26e83f0cafbd44744f12e1dc222}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!getTimeZone@{getTimeZone}}
\index{getTimeZone@{getTimeZone}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{getTimeZone()}{getTimeZone()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_qore_1_1_time_zone}{Time\+Zone}} Qore\+::\+Program\+Control\+::get\+Time\+Zone (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the default local time zone for the object. 

see \mbox{\hyperlink{class_qore_1_1_program_a8d3e26434c9defc264c31d5f5f08d3ba}{Qore\+::\+Program\+::get\+Time\+Zone}} \char`\"{}\+Program\+::get\+Time\+Zone()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a32cc156d0ffc5acbaa07024a6e608054}\label{class_qore_1_1_program_control_a32cc156d0ffc5acbaa07024a6e608054}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!isDefined@{isDefined}}
\index{isDefined@{isDefined}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{isDefined()}{isDefined()}}
{\footnotesize\ttfamily bool Qore\+::\+Program\+Control\+::is\+Defined (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{def }\end{DoxyParamCaption})}



Returns \mbox{\hyperlink{basic_data_types_True}{True}} if the given \mbox{\hyperlink{conditional_parsing}{parse define}} is defined in the current \mbox{\hyperlink{class_qore_1_1_program}{Program}} (does not have to have a value defined to return \mbox{\hyperlink{basic_data_types_True}{True}}), \mbox{\hyperlink{basic_data_types_False}{False}} if not. 

see \mbox{\hyperlink{class_qore_1_1_program_afcfa159016f0f76d7a1abdf8e3895b6b}{Qore\+::\+Program\+::is\+Defined}} \char`\"{}\+Program\+::is\+Defined()\char`\"{} \mbox{\Hypertarget{class_qore_1_1_program_control_a9081e6558184f273e13c1da3b745c27a}\label{class_qore_1_1_program_control_a9081e6558184f273e13c1da3b745c27a}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!resolveProgramId@{resolveProgramId}}
\index{resolveProgramId@{resolveProgramId}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{resolveProgramId()}{resolveProgramId()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} Qore\+::\+Program\+Control\+::resolve\+Program\+Id (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{program\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get instance of program id. 

\begin{DoxyParagraph}{Restrictions\+:}
MUST HAVE\+: \mbox{\hyperlink{group__parse__options_gad0d38cd46f08bf4210d4010204269cc9}{Qore\+::\+PO\+\_\+\+ALLOW\+\_\+\+DEBUGGER}}
\end{DoxyParagraph}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_qore_1_1_program_control_a9081e6558184f273e13c1da3b745c27a}{Program\+Control\+::resolve\+Program\+Id()}}
\end{DoxySeeAlso}

\begin{DoxyExceptions}{Exceptions}
{\em PROGRAM-\/\+ERROR} & if the program\+Id cannot identify \mbox{\hyperlink{class_qore_1_1_program_control}{Program\+Control}} instance \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{class_qore_1_1_program_control_a6eb9d55130f50a7de658df13578ead30}\label{class_qore_1_1_program_control_a6eb9d55130f50a7de658df13578ead30}} 
\index{Qore::ProgramControl@{Qore::ProgramControl}!setGlobalVarValue@{setGlobalVarValue}}
\index{setGlobalVarValue@{setGlobalVarValue}!Qore::ProgramControl@{Qore::ProgramControl}}
\doxysubsubsection{\texorpdfstring{setGlobalVarValue()}{setGlobalVarValue()}}
{\footnotesize\ttfamily nothing Qore\+::\+Program\+Control\+::set\+Global\+Var\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{name,  }\item[{auto}]{value }\end{DoxyParamCaption})}



set the value of a global variable 

see Qore\+::\+Program\+::set\+Global\+Vars \char`\"{}\+Program\+::set\+Global\+Vars()\char`\"{} 