\hypertarget{class_ogre_1_1_page_provider}{}\doxysection{Ogre\+::Page\+Provider Class Reference}
\label{class_ogre_1_1_page_provider}\index{Ogre::PageProvider@{Ogre::PageProvider}}


Abstract class that can be implemented by the user application to provide a way to retrieve or generate page data from a source of their choosing.  




{\ttfamily \#include $<$Ogre\+Page\+Manager.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_page_provider_ab796c764ed717dc1f5f4f70b9fd7f3f2}{Page\+Provider}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_page_provider_ab0f1061b31c84bb8b730ac848a8241e7}{$\sim$\+Page\+Provider}} ()
\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_page_provider_a21e0f99d400fea63fb6dd4024c873834}{load\+Procedural\+Page}} (\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$page, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Give a provider the opportunity to load page content procedurally. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_page_provider_a673e0105f4c2a4cb4f4a1631ebfe48c8}{prepare\+Procedural\+Page}} (\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$page, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Give a provider the opportunity to prepare page content procedurally. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_page_provider_acc765352fa835ea260b9ce989d872b9e}{read\+Page\+Stream}} (\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}} page\+ID, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Get a serialiser set up to read \mbox{\hyperlink{class_ogre_1_1_page}{Page}} data for the given Page\+ID, or null if this provider cannot supply one. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_page_provider_aa542da6a61f2bacf9a2c7c128eb91c76}{read\+World\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&filename)
\begin{DoxyCompactList}\small\item\em Get a serialiser set up to read \mbox{\hyperlink{class_ogre_1_1_paged_world}{Paged\+World}} data for the given world filename. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_page_provider_ae164fead87b9512b924b2ad3e20dba97}{unload\+Procedural\+Page}} (\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$page, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Give a provider the opportunity to unload page content procedurally. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_page_provider_a66ee65df7701f813b055ed09aeaa7949}{unprepare\+Procedural\+Page}} (\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$page, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Give a provider the opportunity to unprepare page content procedurally. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_page_provider_aa32a942e1b415cae94b984924266f9de}{write\+Page\+Stream}} (\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}} page\+ID, \mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$section)
\begin{DoxyCompactList}\small\item\em Get a serialiser set up to write \mbox{\hyperlink{class_ogre_1_1_page}{Page}} data for the given Page\+ID, or null if this provider cannot supply one. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_page_provider_a44eb5f25c6d9875c1a7f4745a8c9f7c3}{write\+World\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&filename)
\begin{DoxyCompactList}\small\item\em Get a serialiser set up to write \mbox{\hyperlink{class_ogre_1_1_paged_world}{Paged\+World}} data for the given world filename. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Abstract class that can be implemented by the user application to provide a way to retrieve or generate page data from a source of their choosing. 

\begin{DoxyNote}{Note}
All of the methods in this class can be called in a background, non-\/render thread. ~\newline
 
\end{DoxyNote}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_ab796c764ed717dc1f5f4f70b9fd7f3f2}\label{class_ogre_1_1_page_provider_ab796c764ed717dc1f5f4f70b9fd7f3f2}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!PageProvider@{PageProvider}}
\index{PageProvider@{PageProvider}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{PageProvider()}{PageProvider()}}
{\footnotesize\ttfamily Ogre\+::\+Page\+Provider\+::\+Page\+Provider (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_page_provider_ab0f1061b31c84bb8b730ac848a8241e7}\label{class_ogre_1_1_page_provider_ab0f1061b31c84bb8b730ac848a8241e7}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!````~PageProvider@{$\sim$PageProvider}}
\index{````~PageProvider@{$\sim$PageProvider}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{$\sim$PageProvider()}{~PageProvider()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Page\+Provider\+::$\sim$\+Page\+Provider (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_a673e0105f4c2a4cb4f4a1631ebfe48c8}\label{class_ogre_1_1_page_provider_a673e0105f4c2a4cb4f4a1631ebfe48c8}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!prepareProceduralPage@{prepareProceduralPage}}
\index{prepareProceduralPage@{prepareProceduralPage}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{prepareProceduralPage()}{prepareProceduralPage()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Page\+Provider\+::prepare\+Procedural\+Page (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$}]{page,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Give a provider the opportunity to prepare page content procedurally. 

\begin{DoxyRemark}{Remarks}
This call may well happen in a separate thread so it should not access G\+PU resources, use load\+Procedural\+Page for that 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
true if the page was populated, false otherwise 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_a21e0f99d400fea63fb6dd4024c873834}\label{class_ogre_1_1_page_provider_a21e0f99d400fea63fb6dd4024c873834}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!loadProceduralPage@{loadProceduralPage}}
\index{loadProceduralPage@{loadProceduralPage}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{loadProceduralPage()}{loadProceduralPage()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Page\+Provider\+::load\+Procedural\+Page (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$}]{page,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Give a provider the opportunity to load page content procedurally. 

\begin{DoxyRemark}{Remarks}
This call will happen in the main render thread so it can access G\+PU resources. Use prepare\+Procedural\+Page for background preparation. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
true if the page was populated, false otherwise 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_ae164fead87b9512b924b2ad3e20dba97}\label{class_ogre_1_1_page_provider_ae164fead87b9512b924b2ad3e20dba97}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!unloadProceduralPage@{unloadProceduralPage}}
\index{unloadProceduralPage@{unloadProceduralPage}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{unloadProceduralPage()}{unloadProceduralPage()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Page\+Provider\+::unload\+Procedural\+Page (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$}]{page,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Give a provider the opportunity to unload page content procedurally. 

\begin{DoxyRemark}{Remarks}
You should not call this method directly. This call will happen in the main render thread so it can access G\+PU resources. Use \+\_\+unprepare\+Procedural\+Page for background preparation. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
true if the page was populated, false otherwise 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_a66ee65df7701f813b055ed09aeaa7949}\label{class_ogre_1_1_page_provider_a66ee65df7701f813b055ed09aeaa7949}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!unprepareProceduralPage@{unprepareProceduralPage}}
\index{unprepareProceduralPage@{unprepareProceduralPage}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{unprepareProceduralPage()}{unprepareProceduralPage()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Page\+Provider\+::unprepare\+Procedural\+Page (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_page}{Page}} $\ast$}]{page,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Give a provider the opportunity to unprepare page content procedurally. 

\begin{DoxyRemark}{Remarks}
You should not call this method directly. This call may well happen in a separate thread so it should not access G\+PU resources, use \+\_\+unload\+Procedural\+Page for that 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
true if the page was unpopulated, false otherwise 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_aa542da6a61f2bacf9a2c7c128eb91c76}\label{class_ogre_1_1_page_provider_aa542da6a61f2bacf9a2c7c128eb91c76}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!readWorldStream@{readWorldStream}}
\index{readWorldStream@{readWorldStream}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{readWorldStream()}{readWorldStream()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}}$\ast$ Ogre\+::\+Page\+Provider\+::read\+World\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Get a serialiser set up to read \mbox{\hyperlink{class_ogre_1_1_paged_world}{Paged\+World}} data for the given world filename. 

\begin{DoxyRemark}{Remarks}
The \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} returned is the responsibility of the caller to delete. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_a44eb5f25c6d9875c1a7f4745a8c9f7c3}\label{class_ogre_1_1_page_provider_a44eb5f25c6d9875c1a7f4745a8c9f7c3}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!writeWorldStream@{writeWorldStream}}
\index{writeWorldStream@{writeWorldStream}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{writeWorldStream()}{writeWorldStream()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}}$\ast$ Ogre\+::\+Page\+Provider\+::write\+World\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Get a serialiser set up to write \mbox{\hyperlink{class_ogre_1_1_paged_world}{Paged\+World}} data for the given world filename. 

\begin{DoxyRemark}{Remarks}
The \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} returned is the responsibility of the caller to delete. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_acc765352fa835ea260b9ce989d872b9e}\label{class_ogre_1_1_page_provider_acc765352fa835ea260b9ce989d872b9e}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!readPageStream@{readPageStream}}
\index{readPageStream@{readPageStream}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{readPageStream()}{readPageStream()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}}$\ast$ Ogre\+::\+Page\+Provider\+::read\+Page\+Stream (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}}}]{page\+ID,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Get a serialiser set up to read \mbox{\hyperlink{class_ogre_1_1_page}{Page}} data for the given Page\+ID, or null if this provider cannot supply one. 

\begin{DoxyRemark}{Remarks}
The \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} returned is the responsibility of the caller to delete. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em page\+ID} & The ID of the page being requested \\
\hline
{\em section} & The parent section to which this page will belong \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_page_provider_aa32a942e1b415cae94b984924266f9de}\label{class_ogre_1_1_page_provider_aa32a942e1b415cae94b984924266f9de}} 
\index{Ogre::PageProvider@{Ogre::PageProvider}!writePageStream@{writePageStream}}
\index{writePageStream@{writePageStream}!Ogre::PageProvider@{Ogre::PageProvider}}
\doxysubsubsection{\texorpdfstring{writePageStream()}{writePageStream()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}}$\ast$ Ogre\+::\+Page\+Provider\+::write\+Page\+Stream (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}}}]{page\+ID,  }\item[{\mbox{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section}} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Get a serialiser set up to write \mbox{\hyperlink{class_ogre_1_1_page}{Page}} data for the given Page\+ID, or null if this provider cannot supply one. 

\begin{DoxyRemark}{Remarks}
The \mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} returned is the responsibility of the caller to delete. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em page\+ID} & The ID of the page being requested \\
\hline
{\em section} & The parent section to which this page will belong \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_page_manager_8h}{Ogre\+Page\+Manager.\+h}}\end{DoxyCompactItemize}
