Resource< T > Class Template Reference

#include <resource.h>

Inheritance diagram for Resource< T >:

Inheritance graph
[legend]
List of all members.


template<class T> class Resource< T >


Public Member Functions

 Resource ()
 Resource (const ResourceBase &base)
void operator= (const ResourceBase &base)
T * operator-> ()
T & operator * ()
 operator T * ()
const T * operator-> () const
const T & operator * () const
 operator const T * () const

Static Public Member Functions

static Signature signature ()

Static Public Attributes

static Signal< bool(const
Torque::Path &, void **)> 
getLoadSignal )()
 Registering with this signal will give an opportunity to handle resource creation before calling the create() function.

Private Member Functions

T * getResource ()
const T * getResource () const
Signature getSignature () const
ResourceHolderBasecreateHolder (void *)
voidcreate (const Torque::Path &path)

Private Attributes

Signal< bool(const Torque::Path &,
void **)> 
getStaticLoadSignal )()

Constructor & Destructor Documentation

template<class T>
Resource< T >::Resource (  )  [inline]

template<class T>
Resource< T >::Resource ( const ResourceBase base  )  [inline]


Member Function Documentation

template<class T>
void Resource< T >::operator= ( const ResourceBase base  )  [inline]

template<class T>
T* Resource< T >::operator-> (  )  [inline]

template<class T>
T& Resource< T >::operator * (  )  [inline]

template<class T>
Resource< T >::operator T * (  )  [inline]

template<class T>
const T* Resource< T >::operator-> (  )  const [inline]

template<class T>
const T& Resource< T >::operator * (  )  const [inline]

template<class T>
Resource< T >::operator const T * (  )  const [inline]

template<class T>
static Signature Resource< T >::signature (  )  [static]

template<class T>
T* Resource< T >::getResource (  )  [inline, private]

template<class T>
const T* Resource< T >::getResource (  )  const [inline, private]

template<class T>
Signature Resource< T >::getSignature (  )  const [inline, private, virtual]

Reimplemented from ResourceBase.

template<class T>
ResourceHolderBase * Resource< T >::createHolder ( void  )  [inline, private, virtual]

Reimplemented from ResourceBase.

template<class T>
void* Resource< T >::create ( const Torque::Path path  )  [private, virtual]

Reimplemented from ResourceBase.


Member Data Documentation

template<class T>
Signal<bool(const Torque::Path &, void**)> Resource< T >::getLoadSignal)() [inline, static]

Registering with this signal will give an opportunity to handle resource creation before calling the create() function.

This may be used to handle file extensions differently and allow a more plugin-like approach to adding resources. Using this mechanism, one could, for example, override the default methods for loading DTS without touching the main source.

See also:
sfxOggResource.cpp for an example.

template<class T>
Signal<bool(const Torque::Path &, void**)> Resource< T >::getStaticLoadSignal)() [inline, private]

Reimplemented from ResourceBase.