27 #ifndef _CEGUICompositeResourceProvider_h_
28 #define _CEGUICompositeResourceProvider_h_
29 #include "CEGUI/Base.h"
30 #include "CEGUI/IteratorBase.h"
31 #include "CEGUI/MemoryAllocation.h"
32 #include "CEGUI/ResourceProvider.h"
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
43 class CEGUIEXPORT CompositeResourceProvider :
public ResourceProvider
49 CompositeResourceProvider();
50 ~CompositeResourceProvider(
void);
64 void add(ResourceProvider *prov,
const String& name);
75 template<
typename T>
void add(
const String& name)
77 add(CEGUI_NEW_AO T,name);
89 void remove(ResourceProvider *prov);
100 void remove(
const String& name);
111 ResourceProvider* get(
const String& name);
113 void loadRawDataContainer(
const String& filename,
114 RawDataContainer& output,
115 const String& resourceGroup);
116 size_t getResourceGroupFileNames(std::vector<String>& out_vec,
117 const String& file_pattern,
118 const String& resource_group);
120 typedef std::map<String, ResourceProvider*, StringFastLessCompare> Providermap;
121 Providermap d_providerlist;
129 #if defined(_MSC_VER)
130 # pragma warning(pop)
133 #endif // end of guard _CEGUICompositeResourceProvider_h_