SFXProvider Class Reference

#include <sfxProvider.h>

List of all members.

Public Member Functions

SFXProvidergetNextProvider () const
 Returns the next provider in the provider list or NULL when the end of the list is reached.
const char * getName () const
 The case sensitive name of this provider.
const SFXDeviceInfoVectorgetDeviceInfo () const
 Returns a read only vector with device information for all creatable devices available from this provider.

Static Public Member Functions

static SFXProviderfindProvider (const char *providerName)
 Returns a specific provider by searching the provider list for the first provider with the case sensitive name.
static SFXProvidergetFirstProvider ()
 Returns the first provider in the provider list.

Protected Member Functions

 SFXProvider (const char *name)
 ~SFXProvider ()
virtual SFXDevicecreateDevice (const char *deviceName, bool useHardware, S32 maxBuffers)=0

Static Protected Member Functions

static void regProvider (SFXProvider *provider)
 This adds the provider to the provider list.

Protected Attributes

SFXDeviceInfoVector mDeviceInfo
 The array of avaIlable devices from this provider.

Private Attributes

SFXProvidermNextProvider
 The next provider in the linked list of available providers.
const char * mName
 The provider name which is passed by the concrete provider class to the SFXProvider constructor.

Static Private Attributes

static SFXProvidersmProviders
 The head of the linked list of avalible providers.

Friends

class SFXSystem


Constructor & Destructor Documentation

SFXProvider::SFXProvider ( const char *  name  )  [protected]

SFXProvider::~SFXProvider (  )  [protected]


Member Function Documentation

static void SFXProvider::regProvider ( SFXProvider provider  )  [static, protected]

This adds the provider to the provider list.

It should be called from the concrete provider constructor if the provider was properly initialized and is available for device enumeration and creation.

virtual SFXDevice* SFXProvider::createDevice ( const char *  deviceName,
bool  useHardware,
S32  maxBuffers 
) [protected, pure virtual]

Parameters:
useHardware Toggles the use of hardware processing when available.
maxBuffers The maximum buffers for this device to use or -1 for the device to pick a reasonable default for that device.
Returns:
Returns the created device or NULL for failure.

static SFXProvider* SFXProvider::findProvider ( const char *  providerName  )  [static]

Returns a specific provider by searching the provider list for the first provider with the case sensitive name.

static SFXProvider* SFXProvider::getFirstProvider (  )  [inline, static]

Returns the first provider in the provider list.

Use getNextProvider() to iterate over list.

SFXProvider* SFXProvider::getNextProvider (  )  const [inline]

Returns the next provider in the provider list or NULL when the end of the list is reached.

const char* SFXProvider::getName (  )  const [inline]

The case sensitive name of this provider.

const SFXDeviceInfoVector& SFXProvider::getDeviceInfo (  )  const [inline]

Returns a read only vector with device information for all creatable devices available from this provider.


Friends And Related Function Documentation

friend class SFXSystem [friend]


Member Data Documentation

The head of the linked list of avalible providers.

The next provider in the linked list of available providers.

const char* SFXProvider::mName [private]

The provider name which is passed by the concrete provider class to the SFXProvider constructor.

The array of avaIlable devices from this provider.

The concrete provider class will fill this on construction.