| GL Studio C++ Runtime API

Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
RSOInterface4 Class Referenceabstract

`#include <rso_interface_4.h>`

Inheritance diagram for RSOInterface4:

## Classes
class | ResourceObserver

## Public Types
typedef unsigned int | CallbackID
| Type for unique identifiers.
Public Types inherited from RSOInterface2
typedef unsigned int | ResourceHandle
| Typedef for a unique resource identifier.

## Public Member Functions
virtual CallbackID | RegisterResourceObserver (ResourceHandle resourceHandle, ResourceObserver *observer)=0
virtual void | UnregisterResourceObserver (ResourceHandle resourceHandle, CallbackID id)=0
Public Member Functions inherited from RSOInterface3
virtual bool | HandleMultiTouchInput (MouseMultiTouchEvent *ev)=0
Public Member Functions inherited from RSOInterface2
virtual ResourceHandle | CreateResourceHandle (const char *resourceName)=0
virtual void | ReleaseResourceHandle (ResourceHandle resourceHandle)=0
virtual bool | IsResourceHandleValid (ResourceHandle resourceHandle)=0
virtual void | SetResource (ResourceHandle resourceHandle, const char *resourceVal)=0
virtual const char * | GetResource (ResourceHandle resourceHandle)=0
virtual void | SetIntResource (const char *resourceName, long resourceVal)=0
virtual long | GetIntResource (const char *resourceName)=0
virtual void | SetIntResource (ResourceHandle handle, long resourceVal)=0
virtual long | GetIntResource (ResourceHandle resourceHandle)=0
virtual void | SetFloatResource (const char *resourceName, double resourceVal)=0
virtual double | GetFloatResource (const char *resourceName)=0
virtual void | SetFloatResource (ResourceHandle handle, double resourceVal)=0
virtual double | GetFloatResource (ResourceHandle resourceHandle)=0
virtual const char * | GetResource (const char *resourceName)=0
virtual void | SetResource (const char *resourceName, const char *resourceVal)=0
Public Member Functions inherited from RSOInterface1
virtual void | Calculate (double time)=0
| The RSO Interface methods. More...
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler)=0
virtual void | Draw ()=0
virtual void | SetResource (const char *resourceName, const char *resourceVal)=0
virtual const char * | GetResource (const char *resourceName)=0
virtual const char * | GetResources (ResourceFilter *filter=0)=0
virtual bool | HandleInput (Event *ev)=0
virtual bool | SetEmittedEventHandler (EmittedEventHandler *handler)=0
virtual bool | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)=0
virtual bool | GetBoundingSphere (Vector *center, float *radius)=0
virtual bool | GetBoundingBox (Vector *min, Vector *max, const MatrixD *transform=0)=0
virtual RSOInterface1 * | CloneObject ()=0
virtual void | DeleteInstance ()=0
| Safely delete the object.

## Protected Member Functions
virtual | ~RSOInterface4 ()
| Protected destructor so it can't be deleted directly.
Protected Member Functions inherited from RSOInterface3
virtual | ~RSOInterface3 ()
| Protected destructor so it can't be deleted directly.
Protected Member Functions inherited from RSOInterface2
virtual | ~RSOInterface2 ()
| Protected destructor so it can't be deleted directly.
Protected Member Functions inherited from RSOInterface1
virtual | ~RSOInterface1 ()
| Protected destructor so it can't be deleted directly.

## Additional Inherited Members
Static Public Member Functions inherited from RSOInterface1
static unsigned int | strlen (const char *str)
static char * | strcpy (char *dest, const char *src)

## Detailed Description

The RSOInterface4 class defines an abstract interface to an RSO instance.

## Member Function Documentation

## ◆ RegisterResourceObserver()

virtual CallbackID RegisterResourceObserver | ( | ResourceHandle | resourceHandle,
|  | ResourceObserver * | observer
| ) |  |
| pure virtual

Register a resource observer to be notified when a resource changes *

Parameters

  resourceHandle | the resource handle
  observer | the observer to be notified. The RSO takes ownership of the observer and will call Destroy to delete it when needed.

Returns
  the id used to unregister the observer in combination with the original resourceHandle

## ◆ UnregisterResourceObserver()

virtual void UnregisterResourceObserver | ( | ResourceHandle | resourceHandle,
|  | CallbackID | id
| ) |  |
| pure virtual

Unregister a resource observer

Parameters

  resourceHandle | the resource handle used to register the observer
  id | the id used to register the resource observer

The documentation for this class was generated from the following file:

- rso_interface_4.h