source: OGRE/trunk/ogrenew/Docs/api/html/OgreResourceManager_8h-source.html @ 657

Revision 657, 17.6 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreResourceManager.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>OgreResourceManager.h</h1><a href="OgreResourceManager_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025 <span class="preprocessor">#ifndef _ResourceManager_H__</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define _ResourceManager_H__</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
3800029
3900030 <span class="preprocessor">#include "<a class="code" href="OgreResource_8h.html">OgreResource.h</a>"</span>
4000031 <span class="preprocessor">#include "<a class="code" href="OgreResourceGroupManager_8h.html">OgreResourceGroupManager.h</a>"</span>
4100032 <span class="preprocessor">#include "<a class="code" href="OgreIteratorWrappers_8h.html">OgreIteratorWrappers.h</a>"</span>
4200033 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
4300034 <span class="preprocessor">#include "<a class="code" href="OgreDataStream_8h.html">OgreDataStream.h</a>"</span>
4400035 <span class="preprocessor">#include "<a class="code" href="OgreStringVector_8h.html">OgreStringVector.h</a>"</span>
4500036 <span class="preprocessor">#include "<a class="code" href="OgreScriptLoader_8h.html">OgreScriptLoader.h</a>"</span>
4600037
4700038 <span class="keyword">namespace </span>Ogre {
4800039
49<a name="l00064"></a><a class="code" href="classOgre_1_1ResourceManager.html">00064</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> ResourceManager : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ScriptLoader.html">ScriptLoader</a>
5000065     {
5100066     <span class="keyword">public</span>:
5200067         <a class="code" href="OgrePrerequisites_8h.html#a11">OGRE_AUTO_MUTEX</a> <span class="comment">// public to allow external locking</span>
5300068         ResourceManager();
5400069         <span class="keyword">virtual</span> ~ResourceManager();
5500070
5600090         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a> create(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; group,
5700091             <span class="keywordtype">bool</span> isManual = <span class="keyword">false</span>, <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader = 0,
5800092             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a>* createParams = 0);
5900100         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setMemoryBudget( size_t bytes);
6000101
6100104         <span class="keyword">virtual</span> size_t getMemoryBudget(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
6200105
6300112         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unload(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
6400113         
6500120         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unload(<a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle);
6600121
6700128         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unloadAll(<span class="keywordtype">void</span>);
6800134         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reloadAll(<span class="keywordtype">void</span>);
6900135
7000153         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; r);
7100154
7200172         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
7300173         
7400191         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle);
7500206         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAll(<span class="keywordtype">void</span>);
7600207
7700210         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a> getByName(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
7800213         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a> getByHandle(<a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle);
7900214         
80<a name="l00216"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera24">00216</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> resourceExists(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name)
8100217         {
8200218             <span class="keywordflow">return</span> !getByName(name).<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra13">isNull</a>();
8300219         }
84<a name="l00221"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera25">00221</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> resourceExists(<a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle)
8500222         {
8600223             <span class="keywordflow">return</span> !getByHandle(handle).<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra13">isNull</a>();
8700224         }
8800225
8900229         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceTouched(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9000230
9100234         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceLoaded(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9200235
9300239         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceUnloaded(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9400240
9500254         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a> load(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name,
9600255             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; group, <span class="keywordtype">bool</span> isManual = <span class="keyword">false</span>,
9700256             <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader = 0, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a>* loadParams = 0);
9800257
99<a name="l00273"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera30">00273</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a535">StringVector</a>&amp; getScriptPatterns(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mScriptPatterns; }
10000274
101<a name="l00288"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera31">00288</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> parseScript(<a class="code" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a>&amp; stream, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; groupName) {}
10200289
103<a name="l00296"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera32">00296</a>         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getLoadingOrder(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLoadOrder; }
10400297
105<a name="l00299"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera33">00299</a>         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getResourceType(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mResourceType; }
10600300
10700301     <span class="keyword">protected</span>:
10800302
10900304         <a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> getNextHandle(<span class="keywordtype">void</span>);
11000305
11100327         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Resource.html">Resource</a>* createImpl(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle,
11200328             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; group, <span class="keywordtype">bool</span> isManual, <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader,
11300329             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a>* createParams) = 0;
11400331         <span class="keyword">virtual</span> <span class="keywordtype">void</span> addImpl( <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; res );
11500333         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeImpl( <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; res );
11600336         <span class="keyword">virtual</span> <span class="keywordtype">void</span> checkUsage(<span class="keywordtype">void</span>);
117<a name="l00338"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerb5">00338</a>         <span class="keyword">virtual</span> size_t getMemoryUsage(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMemoryUsage; }
11800339
11900340
12000341     <span class="keyword">public</span>:
121<a name="l00342"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">00342</a>         <span class="keyword">typedef</span> HashMap&lt; String, ResourcePtr &gt; <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">ResourceMap</a>;
122<a name="l00343"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw1">00343</a>         <span class="keyword">typedef</span> std::map&lt;ResourceHandle, ResourcePtr&gt; <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw1">ResourceHandleMap</a>;
12300344     <span class="keyword">protected</span>:
124<a name="l00345"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp2">00345</a>         <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw1">ResourceHandleMap</a> mResourcesByHandle;
125<a name="l00346"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp3">00346</a>         <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">ResourceMap</a> mResources;
126<a name="l00347"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp4">00347</a>         <a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> mNextHandle;
127<a name="l00348"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp5">00348</a>         size_t mMemoryBudget; <span class="comment">// In bytes</span>
128<a name="l00349"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp6">00349</a>         size_t mMemoryUsage; <span class="comment">// In bytes</span>
12900350
13000351         <span class="comment">// IMPORTANT - all subclasses must populate the fields below</span>
13100352
132<a name="l00354"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp7">00354</a>         <a class="code" href="namespaceOgre.html#a535">StringVector</a> mScriptPatterns;
133<a name="l00356"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp8">00356</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mLoadOrder;
134<a name="l00358"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp9">00358</a>         <a class="code" href="namespaceOgre.html#a426">String</a> mResourceType;
13500359
13600360     <span class="keyword">public</span>:
137<a name="l00361"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw2">00361</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator&lt;ResourceHandleMap&gt;</a> <a class="code" href="classOgre_1_1MapIterator.html">ResourceMapIterator</a>;
138<a name="l00366"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera34">00366</a>         <a class="code" href="classOgre_1_1MapIterator.html">ResourceMapIterator</a> getResourceIterator(<span class="keywordtype">void</span>)
13900367         {
14000368             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">ResourceMapIterator</a>(mResourcesByHandle.begin(), mResourcesByHandle.end());
14100369         }
14200370
14300371     
14400372
14500373     };
14600374
14700375 }
14800376
14900377 <span class="preprocessor">#endif</span>
150</pre></div><hr>
151<p>
152Copyright &copy; 2000-2005 by The OGRE Team<br />
153<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
154This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
155                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
156                <Work rdf:about="">
157                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
158        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
159                </Work>
160                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
161
162Last modified Sun Feb 12 12:59:51 2006
163</p>
164</body>
165</html>
Note: See TracBrowser for help on using the repository browser.