# CEGUI::ResourceProvider Class Reference

Abstract class that defines the required interface for all resource provider sub-classes. More...

Inheritance diagram for CEGUI::ResourceProvider:

[legend]
Collaboration diagram for CEGUI::ResourceProvider:

[legend]
List of all members.

## Public Member Functions

| ResourceProvider ()
| Constructor for the ResourceProvider class.
virtual | ~ResourceProvider (void)
| Destructor for the ResourceProvider class.
virtual void | loadRawDataContainer (const String &filename, RawDataContainer &output, const String &resourceGroup)=0
| Load XML data using InputSource objects. Load raw binary data.
virtual void | unloadRawDataContainer (RawDataContainer &data)
| Unload raw binary data. This gives the resource provider a change to unload the data in its own way before the data container object is destroyed. If it does nothing, then the object will release its memory.
const String & | getDefaultResourceGroup (void) const
| Return the current default resource group identifier.
void | setDefaultResourceGroup (const String &resourceGroup)
| Set the default resource group identifier.

## Protected Attributes

String | d_defaultResourceGroup
| Default resource group identifier.

## Detailed Description

Abstract class that defines the required interface for all resource provider sub-classes.

A ResourceProvider is used to load both XML and binary data from an external source. This could be from a filesystem or the resource manager of a specific renderer.

## Member Function Documentation

const String& CEGUI::ResourceProvider::getDefaultResourceGroup | ( | void |  | ) | const`[inline]`

Return the current default resource group identifier.

Returns:
  String object containing the currently set default resource group identifier.

virtual void CEGUI::ResourceProvider::loadRawDataContainer | ( | const String & | filename,
|  | RawDataContainer & | output,
|  | const String & | resourceGroup
| ) | `[pure virtual]`

Load XML data using InputSource objects. Load raw binary data.

Parameters:

  | filename | String containing a filename of the resource to be loaded.
  | output | Reference to a RawDataContainer object to load the data into.
  | resourceGroup | Optional String that may be used by implementations to identify the group from which the resource should be loaded.

void CEGUI::ResourceProvider::setDefaultResourceGroup | ( | const String & | resourceGroup | ) | `[inline]`

Set the default resource group identifier.

Parameters:

  | resourceGroup | String object containing the default resource group identifier to be used.

Returns:
  Nothing.

virtual void CEGUI::ResourceProvider::unloadRawDataContainer | ( | RawDataContainer & | data | ) | `[inline, virtual]`

Unload raw binary data. This gives the resource provider a change to unload the data in its own way before the data container object is destroyed. If it does nothing, then the object will release its memory.

Parameters:

  | data | Reference to a RawDataContainer object that is about to be destroyed.