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

Revision 692, 18.2 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

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#a12">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#a471">String</a>&amp; name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">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#a76">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#a471">String</a>&amp; name);
6400113         
6500120         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unload(<a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> handle);
6600121
6700134         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unloadAll(<span class="keywordtype">bool</span> reloadableOnly = <span class="keyword">true</span>);
6800135
6900147         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reloadAll(<span class="keywordtype">bool</span> reloadableOnly = <span class="keyword">true</span>);
7000148
7100163         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unloadUnreferencedResources(<span class="keywordtype">bool</span> reloadableOnly = <span class="keyword">true</span>);
7200164
7300178         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reloadUnreferencedResources(<span class="keywordtype">bool</span> reloadableOnly = <span class="keyword">true</span>);
7400179
7500197         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; r);
7600198
7700216         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name);
7800217         
7900235         <span class="keyword">virtual</span> <span class="keywordtype">void</span> remove(<a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> handle);
8000250         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAll(<span class="keywordtype">void</span>);
8100251
8200254         <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#a471">String</a>&amp; name);
8300257         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a> getByHandle(<a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> handle);
8400258         
85<a name="l00260"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera29">00260</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> resourceExists(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name)
8600261         {
8700262             <span class="keywordflow">return</span> !getByName(name).<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra13">isNull</a>();
8800263         }
89<a name="l00265"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera30">00265</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> resourceExists(<a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> handle)
9000266         {
9100267             <span class="keywordflow">return</span> !getByHandle(handle).<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra13">isNull</a>();
9200268         }
9300269
9400273         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceTouched(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9500274
9600278         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceLoaded(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9700279
9800283         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyResourceUnloaded(<a class="code" href="classOgre_1_1Resource.html">Resource</a>* res);
9900284
10000298         <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#a471">String</a>&amp; name,
10100299             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; group, <span class="keywordtype">bool</span> isManual = <span class="keyword">false</span>,
10200300             <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader = 0, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a>* loadParams = 0);
10300301
104<a name="l00317"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera35">00317</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a580">StringVector</a>&amp; getScriptPatterns(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mScriptPatterns; }
10500318
106<a name="l00332"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera36">00332</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#a471">String</a>&amp; groupName) {}
10700333
108<a name="l00340"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera37">00340</a>         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a465">Real</a> getLoadingOrder(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLoadOrder; }
10900341
110<a name="l00343"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera38">00343</a>         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; getResourceType(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mResourceType; }
11100344
11200345     <span class="keyword">protected</span>:
11300346
11400348         <a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> getNextHandle(<span class="keywordtype">void</span>);
11500349
11600371         <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#a471">String</a>&amp; name, <a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> handle,
11700372             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; group, <span class="keywordtype">bool</span> isManual, <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader,
11800373             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a>* createParams) = 0;
11900375         <span class="keyword">virtual</span> <span class="keywordtype">void</span> addImpl( <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; res );
12000377         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeImpl( <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; res );
12100380         <span class="keyword">virtual</span> <span class="keywordtype">void</span> checkUsage(<span class="keywordtype">void</span>);
122<a name="l00382"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerb5">00382</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; }
12300383
12400384
12500385     <span class="keyword">public</span>:
126<a name="l00386"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">00386</a>         <span class="keyword">typedef</span> HashMap&lt; String, ResourcePtr &gt; <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">ResourceMap</a>;
127<a name="l00387"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw1">00387</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>;
12800388     <span class="keyword">protected</span>:
129<a name="l00389"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp2">00389</a>         <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw1">ResourceHandleMap</a> mResourcesByHandle;
130<a name="l00390"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp3">00390</a>         <a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw0">ResourceMap</a> mResources;
131<a name="l00391"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp4">00391</a>         <a class="code" href="namespaceOgre.html#a529">ResourceHandle</a> mNextHandle;
132<a name="l00392"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp5">00392</a>         size_t mMemoryBudget; <span class="comment">// In bytes</span>
133<a name="l00393"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp6">00393</a>         size_t mMemoryUsage; <span class="comment">// In bytes</span>
13400394
13500395         <span class="comment">// IMPORTANT - all subclasses must populate the fields below</span>
13600396
137<a name="l00398"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp7">00398</a>         <a class="code" href="namespaceOgre.html#a580">StringVector</a> mScriptPatterns;
138<a name="l00400"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp8">00400</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> mLoadOrder;
139<a name="l00402"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerp9">00402</a>         <a class="code" href="namespaceOgre.html#a471">String</a> mResourceType;
14000403
14100404     <span class="keyword">public</span>:
142<a name="l00405"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagerw2">00405</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>;
143<a name="l00410"></a><a class="code" href="classOgre_1_1ResourceManager.html#Ogre_1_1TextureManagera39">00410</a>         <a class="code" href="classOgre_1_1MapIterator.html">ResourceMapIterator</a> getResourceIterator(<span class="keywordtype">void</span>)
14400411         {
14500412             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">ResourceMapIterator</a>(mResourcesByHandle.begin(), mResourcesByHandle.end());
14600413         }
14700414
14800415     
14900416
15000417     };
15100418
15200419 }
15300420
15400421 <span class="preprocessor">#endif</span>
155</pre></div><hr>
156<p>
157Copyright &copy; 2000-2005 by The OGRE Team<br />
158<!--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/>
159This 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/>
160                <!--/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#">
161                <Work rdf:about="">
162                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
163        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
164                </Work>
165                <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> -->
166
167Last modified Sun Mar 12 14:37:48 2006
168</p>
169</body>
170</html>
Note: See TracBrowser for help on using the repository browser.