Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > 554fa56029a60daf7aab25253fdab3d8 > files > 173

clanlib0.6-docs-0.6.5-28mdv2008.1.x86_64.rpm


<html>
<head><title>ClanLib Reference: CL_ResourceManager</title></head>
<body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr>
<tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table>
<table align=center border=0 cellspacing=10> <tr>
<td><a href="entire_class_index.html">Entire Class Index</a></td>
<td><a href="class_index.html">Main Class Index</a></td>
<td><a href="cross_index.html">Cross Index</a></td>
<td><a href="global_index.html">Global Index</a></td>
</table><h1 align=center>Class CL_ResourceManager</h1><p>
<b>  The ClanLib resource manager.</b><br>
Contained in: <a href="global_index.html">global</a><br>
Derived from:
<i>none</i>
<br>
Derived by:
<i>none</i>
<br>Group: Core (Resources)
<p>
#include &lt;ClanLib/core.h&gt;
<p>
<hr noshade>
<table border=0>
<tr><td colspan=3><h3>public function member index:</h3></td>
<tr valign=top><td align=left><h3>Construction:</h3></td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1226"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>provider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>read_directly_from_source</font></tt>=false, <tt><font color=purple>bool</font></tt> <tt><font color=blue>delete_inputsource_provider</font></tt>=false)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1227"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <tt>const</tt> <tt><font color=purple>bool</font></tt> <tt><font color=blue>is_datafile</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1228"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <tt>const</tt> <tt><font color=purple>bool</font></tt> <tt><font color=blue>is_datafile</font></tt>, <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1229"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1230"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1231"><tt><font color=blue><b>~CL_ResourceManager</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=left><h3>Attributes:</h3></td>
<tr valign=top><td align=right><tt><a href="CL_Resource.html"><tt><font color=navy><b>CL_Resource</b></font></tt></a>&</tt> </td><td align=right><a href="CL_ResourceManager.html#1232"><tt><font color=blue><b>get_resource</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>res_id</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=navy>std::list</font></tt><<tt><font color=navy>std::string</font></tt>>*</tt> </td><td align=right><a href="CL_ResourceManager.html#1233"><tt><font color=blue><b>get_all_resources</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=navy>std::list</font></tt><<tt><font color=navy>std::string</font></tt>>*</tt> </td><td align=right><a href="CL_ResourceManager.html#1234"><tt><font color=blue><b>get_resources_of_type</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>type_id</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>*</tt> </td><td align=right><a href="CL_ResourceManager.html#1235"><tt><font color=blue><b>get_resource_provider</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>bool</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1236"><tt><font color=blue><b>is_from_source</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=left><h3>Operations:</h3></td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1237"><tt><font color=black><b>operator</b></font></tt><tt> = </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1238"><tt><font color=blue><b>add_resources</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1239"><tt><font color=blue><b>remove_resources</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1240"><tt><font color=blue><b>load_all</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1241"><tt><font color=blue><b>unload_all</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1242"><tt><font color=blue><b>load_section</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>section_name</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1243"><tt><font color=blue><b>unload_section</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>section_name</font></tt>)</tt>;</td>
<tr valign=top><td align=left><h3>Implementation:</h3></td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a></td><td><tt>(<tt><font color=navy>class</font></tt> <tt><font color=blue>CL_ResourceManager_File</font></tt>* <tt><font color=blue>impl</font></tt>)</tt>;</td>
<tr><td>&nbsp;</td></table>
<hr noshade>
<h2>Description:</h2>
  The resource manager is used to retrieve resources from a given resource source.<br>  This can either be a resource script file (used as input to the  datafile compiler), or a datafile with all the resources included into  one large gzipped resource file.<br><br>  To speedup loading of resources in a game, you can load entire sections  of resources at once. When a resource in the section is requested, it is  returned instantly without having to access the disk. This is especially  useful to make sure all the game resources are loaded before the game is  started.<br><br>  Resources are normally not retrieved using the get_resource() function.  Instead, you should load the resource using the appropiate resource type  class. For instance, a surface is easiest loaded like this:<br><br>  <a href="CL_ResourceManager.html">CL_ResourceManager</a> res_manager("my_datafile.dat", true);<br>  <a href="CL_Surface.html">CL_Surface</a> my_surface("my_surface", res_manager);<br><br>  Getting the same resource twice won't create a new instance of the  resource; they are reference counted.<br><p>
<hr noshade>
<h2>Function Member Descriptions:</h2>
<a name="1226"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Resource Manager constructor.<br><tt></tt> <a href="CL_ResourceManager.html#1226"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>provider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>read_directly_from_source</font></tt>=false, <tt><font color=purple>bool</font></tt> <tt><font color=blue>delete_inputsource_provider</font></tt>=false)</tt>;<br><blockquote>  config_file - the name of the file in which the resources are defined<br>  provider - the optional inputprovider in which, the resource file is stored<br>  read_directly_from_source - if true, any resources are loaded directly from their source, meaning that any datafile-directive is ignored.</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1227"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Resource Manager constructor.<br><tt></tt> <a href="CL_ResourceManager.html#1227"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <tt>const</tt> <tt><font color=purple>bool</font></tt> <tt><font color=blue>is_datafile</font></tt>)</tt>;<br><blockquote>  file_name - the name of the file to open<br>  is_datafile - indicates if the file is a scriptfile or a datafile</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1228"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Resource Manager constructor.<br><tt></tt> <a href="CL_ResourceManager.html#1228"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>config_file</font></tt>, <tt>const</tt> <tt><font color=purple>bool</font></tt> <tt><font color=blue>is_datafile</font></tt>, <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;<br><blockquote>  file_name - the name of the file to open<br>  is_datafile - indicates if the file is a scriptfile or a datafile<br>  additional_resources - additional resources to be included into the resource set.</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1229"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Resource Manager Constructor<br><tt></tt> <a href="CL_ResourceManager.html#1229"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1230"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Construct empty resource manager.<br><tt></tt> <a href="CL_ResourceManager.html#1230"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1244"><font size=+1><b>CL_ResourceManager::CL_ResourceManager</b></font></a> -   Resource Manager Constructor<br><tt></tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a><tt>(<tt><font color=navy>class</font></tt> <tt><font color=blue>CL_ResourceManager_File</font></tt>* <tt><font color=blue>impl</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1238"><font size=+1><b>CL_ResourceManager::add_resources</b></font></a> -   Add resources from an other resource manager.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1238"><tt><font color=blue><b>add_resources</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1233"><font size=+1><b>CL_ResourceManager::get_all_resources</b></font></a> -   Returns a list of all resources available.<br>  Primarily used by the datafile compiler to build datafiles from resources.<br><tt><tt><font color=navy>std::list</font></tt><<tt><font color=navy>std::string</font></tt>>*</tt> <a href="CL_ResourceManager.html#1233"><tt><font color=blue><b>get_all_resources</b></font></tt></a><tt>()</tt>;<br><blockquote>  Returns - The list of resources available. You'll have to delete the list returned.</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1232"><font size=+1><b>CL_ResourceManager::get_resource</b></font></a> -   Returns a pointer to the <a href="CL_Resource.html">CL_Resource</a> representing the given resource<br><tt><a href="CL_Resource.html"><tt><font color=navy><b>CL_Resource</b></font></tt></a>&</tt> <a href="CL_ResourceManager.html#1232"><tt><font color=blue><b>get_resource</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>res_id</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1235"><font size=+1><b>CL_ResourceManager::get_resource_provider</b></font></a> -   Returns a pointer to the inputsourceprovider, in which all resources are stored<br>  (this can be a fileprovider or a datafileprovider depending on method used to load the script file)<br><tt><a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>*</tt> <a href="CL_ResourceManager.html#1235"><tt><font color=blue><b>get_resource_provider</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote>  Returns - Pointer to inputsourceprovider containing resource data.</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1234"><font size=+1><b>CL_ResourceManager::get_resources_of_type</b></font></a> -   Returns a list of all resources available matching a given type. <br>  Primarily used by the ClanCompiler to build datafiles from resources.<br><tt><tt><font color=navy>std::list</font></tt><<tt><font color=navy>std::string</font></tt>>*</tt> <a href="CL_ResourceManager.html#1234"><tt><font color=blue><b>get_resources_of_type</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>type_id</font></tt>)</tt>;<br><blockquote>  Returns - The list of resources available. You'll have to delete the list returned.</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1236"><font size=+1><b>CL_ResourceManager::is_from_source</b></font></a> -   Returns true if the resources are loaded from source. False if loaded from a datafile.<br><tt><tt><font color=purple>bool</font></tt></tt> <a href="CL_ResourceManager.html#1236"><tt><font color=blue><b>is_from_source</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1240"><font size=+1><b>CL_ResourceManager::load_all</b></font></a> -   Loads all resources into memory.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1240"><tt><font color=blue><b>load_all</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1242"><font size=+1><b>CL_ResourceManager::load_section</b></font></a> -   Loads all resources in a given section into memory.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1242"><tt><font color=blue><b>load_section</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>section_name</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1237"><font size=+1><b>CL_ResourceManager::operator = </b></font></a> -   Copy a resource manager.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1237"><tt><font color=black><b>operator</b></font></tt><tt> = </tt></a><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1239"><font size=+1><b>CL_ResourceManager::remove_resources</b></font></a> -   Remove resources from an other resource manager.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1239"><tt><font color=blue><b>remove_resources</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_ResourceManager.html#1244"><tt><font color=blue><b>CL_ResourceManager</b></font></tt></a>& <tt><font color=blue>additional_resources</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1241"><font size=+1><b>CL_ResourceManager::unload_all</b></font></a> -   Unloads all resources from memory.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1241"><tt><font color=blue><b>unload_all</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1243"><font size=+1><b>CL_ResourceManager::unload_section</b></font></a> -   Unloads all resources in a given section into memory.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_ResourceManager.html#1243"><tt><font color=blue><b>unload_section</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>section_name</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1231"><font size=+1><b>CL_ResourceManager::~CL_ResourceManager</b></font></a> -   Resource Manager Destructor<br><tt></tt> <a href="CL_ResourceManager.html#1231"><tt><font color=blue><b>~CL_ResourceManager</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<hr noshade>
<h2>Variable Member Descriptions:</h2>
<a name="1245"><font size=+1><b>CL_ResourceManager::impl</b></font></a> -   Pointer to the implementation<br>
<tt><tt><font color=navy>CL_ResourceManager_File</font></tt> *</tt> <tt><a href="CL_ResourceManager.html#1245"><tt><font color=blue>impl</font></tt></a>;</tt><hr size="1" width="70%" align="left" noshade="noshade"><br>
<hr noshade>
</body>
</html>