\hypertarget{class_ogre_1_1_script_compiler_listener}{}\section{Ogre\+:\+:Script\+Compiler\+Listener Class Reference}
\label{class_ogre_1_1_script_compiler_listener}\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}


This is a listener for the compiler.  




{\ttfamily \#include $<$Ogre\+Script\+Compiler.\+h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_script_compiler_listener_a5ef77364e46586313bbe52bd80286fd7}{Script\+Compiler\+Listener} ()
\item 
virtual \hyperlink{class_ogre_1_1_script_compiler_listener_a2822f17d9ebae54955ceb220eb0421e0}{$\sim$\+Script\+Compiler\+Listener} ()
\item 
virtual void \hyperlink{class_ogre_1_1_script_compiler_listener_ade5fc951cb11a6e2b428d29a9a1cbd2a}{handle\+Error} (\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$compiler, \hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32} code, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&file, int line, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&msg)
\begin{DoxyCompactList}\small\item\em Called when an error occurred. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_script_compiler_listener_a24910b11f8daa374e432336620ac9385}{handle\+Event} (\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$compiler, \hyperlink{class_ogre_1_1_script_compiler_event}{Script\+Compiler\+Event} $\ast$evt, void $\ast$retval)
\begin{DoxyCompactList}\small\item\em Called when an event occurs during translation, return true if handled. \end{DoxyCompactList}\item 
virtual \hyperlink{group___general_ga9d11953f4cfbc8a1e225b910d881dc36}{Concrete\+Node\+List\+Ptr} \hyperlink{class_ogre_1_1_script_compiler_listener_a127cde78b54edd6826e7d7094404730a}{import\+File} (\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$compiler, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)
\begin{DoxyCompactList}\small\item\em Returns the concrete node list from the given file. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_script_compiler_listener_acaf9a789c4b3c37d4789442ebf1cb2b4}{post\+Conversion} (\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$compiler, const \hyperlink{group___general_gad207f4cd0b8599200e52d366fe61f069}{Abstract\+Node\+List\+Ptr} \&)
\begin{DoxyCompactList}\small\item\em Allows vetoing of continued compilation after the entire A\+ST conversion process finishes. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_script_compiler_listener_acacf340d804e9ed92d27ae2c45d675ea}{pre\+Conversion} (\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$compiler, \hyperlink{group___general_ga9d11953f4cfbc8a1e225b910d881dc36}{Concrete\+Node\+List\+Ptr} nodes)
\begin{DoxyCompactList}\small\item\em Allows for responding to and overriding behavior before a C\+ST is translated into an A\+ST. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This is a listener for the compiler. 

The compiler can be customized with this listener. It lets you listen in on events occurring during compilation, hook them, and change the behavior. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_a5ef77364e46586313bbe52bd80286fd7}\label{class_ogre_1_1_script_compiler_listener_a5ef77364e46586313bbe52bd80286fd7}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!Script\+Compiler\+Listener@{Script\+Compiler\+Listener}}
\index{Script\+Compiler\+Listener@{Script\+Compiler\+Listener}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{Script\+Compiler\+Listener()}{ScriptCompilerListener()}}
{\footnotesize\ttfamily Ogre\+::\+Script\+Compiler\+Listener\+::\+Script\+Compiler\+Listener (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_a2822f17d9ebae54955ceb220eb0421e0}\label{class_ogre_1_1_script_compiler_listener_a2822f17d9ebae54955ceb220eb0421e0}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!````~Script\+Compiler\+Listener@{$\sim$\+Script\+Compiler\+Listener}}
\index{````~Script\+Compiler\+Listener@{$\sim$\+Script\+Compiler\+Listener}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{$\sim$\+Script\+Compiler\+Listener()}{~ScriptCompilerListener()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Script\+Compiler\+Listener\+::$\sim$\+Script\+Compiler\+Listener (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



References Ogre\+::\+Concrete\+Node\+::file, and Ogre\+::\+Concrete\+Node\+::line.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_a127cde78b54edd6826e7d7094404730a}\label{class_ogre_1_1_script_compiler_listener_a127cde78b54edd6826e7d7094404730a}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!import\+File@{import\+File}}
\index{import\+File@{import\+File}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{import\+File()}{importFile()}}
{\footnotesize\ttfamily virtual \hyperlink{group___general_ga9d11953f4cfbc8a1e225b910d881dc36}{Concrete\+Node\+List\+Ptr} Ogre\+::\+Script\+Compiler\+Listener\+::import\+File (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$}]{compiler,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the concrete node list from the given file. 

\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_acacf340d804e9ed92d27ae2c45d675ea}\label{class_ogre_1_1_script_compiler_listener_acacf340d804e9ed92d27ae2c45d675ea}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!pre\+Conversion@{pre\+Conversion}}
\index{pre\+Conversion@{pre\+Conversion}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{pre\+Conversion()}{preConversion()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Script\+Compiler\+Listener\+::pre\+Conversion (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$}]{compiler,  }\item[{\hyperlink{group___general_ga9d11953f4cfbc8a1e225b910d881dc36}{Concrete\+Node\+List\+Ptr}}]{nodes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Allows for responding to and overriding behavior before a C\+ST is translated into an A\+ST. 

\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_acaf9a789c4b3c37d4789442ebf1cb2b4}\label{class_ogre_1_1_script_compiler_listener_acaf9a789c4b3c37d4789442ebf1cb2b4}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!post\+Conversion@{post\+Conversion}}
\index{post\+Conversion@{post\+Conversion}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{post\+Conversion()}{postConversion()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Script\+Compiler\+Listener\+::post\+Conversion (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$}]{compiler,  }\item[{const \hyperlink{group___general_gad207f4cd0b8599200e52d366fe61f069}{Abstract\+Node\+List\+Ptr} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Allows vetoing of continued compilation after the entire A\+ST conversion process finishes. 

\begin{DoxyRemark}{Remarks}
Once the script is turned completely into an A\+ST, including import and override handling, this function allows a listener to exit the compilation process. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True continues compilation, false aborts 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_ade5fc951cb11a6e2b428d29a9a1cbd2a}\label{class_ogre_1_1_script_compiler_listener_ade5fc951cb11a6e2b428d29a9a1cbd2a}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!handle\+Error@{handle\+Error}}
\index{handle\+Error@{handle\+Error}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{handle\+Error()}{handleError()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Script\+Compiler\+Listener\+::handle\+Error (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$}]{compiler,  }\item[{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}}]{code,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{file,  }\item[{int}]{line,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called when an error occurred. 

\mbox{\Hypertarget{class_ogre_1_1_script_compiler_listener_a24910b11f8daa374e432336620ac9385}\label{class_ogre_1_1_script_compiler_listener_a24910b11f8daa374e432336620ac9385}} 
\index{Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}!handle\+Event@{handle\+Event}}
\index{handle\+Event@{handle\+Event}!Ogre\+::\+Script\+Compiler\+Listener@{Ogre\+::\+Script\+Compiler\+Listener}}
\subsubsection{\texorpdfstring{handle\+Event()}{handleEvent()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Script\+Compiler\+Listener\+::handle\+Event (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_script_compiler}{Script\+Compiler} $\ast$}]{compiler,  }\item[{\hyperlink{class_ogre_1_1_script_compiler_event}{Script\+Compiler\+Event} $\ast$}]{evt,  }\item[{void $\ast$}]{retval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called when an event occurs during translation, return true if handled. 

\begin{DoxyRemark}{Remarks}
This function is called from the translators when an event occurs that that can be responded to. Often this is overriding names, or it can be a request for custom resource creation. \begin{DoxyItemize}
\item compiler A reference to the compiler \item evt The event object holding information about the event to be processed \item retval A possible return value from handlers \end{DoxyItemize}

\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True if the handler processed the event 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_script_compiler_8h}{Ogre\+Script\+Compiler.\+h}\end{DoxyCompactItemize}
