MSgResourceAdapter Class Reference

class MSgResourceAdapter

This interface must be implemented by all the user-side objects in the adaptation layer of the Graphics subsystem which are referenced by instances of any handle class in the Graphics Resource API. The interface between the user-side and the kernel-side parts of the adaptation layer is outside the scope of the specification of the Graphics Resource API.

Each resource referenced by a handle opened in the context of a process must be represented by an adapter object inside the process. Both the adapter object and the resource itself have reference counts. The reference count for the adapter object equals the number of handles to the resource open in the process, while the adapter object counts as a single reference to the resource.

Adapter objects can be shared between all the threads in a process. This has two consequences:
  • Adapter objects must be allocated in a multi-threaded heap owned by the Graphics Resource Adapter singleton.

  • Access to adapter objects must be synchronised by means of a mutual exclusion mechanism.

This interface must be implemented by all the user-side objects in the adaptation layer of the Graphics subsystem which are referenced by instances of any handle class in the Graphics Resource API. The interface between the user-side and the kernel-side parts of the adaptation layer is outside the scope of the specification of the Graphics Resource API.

Each resource referenced by a handle opened in the context of a process must be represented by an adapter object inside the process. Both the adapter object and the resource itself have reference counts. The reference count for the adapter object equals the number of handles to the resource open in the process, while the adapter object counts as a single reference to the resource.

Adapter objects can be shared between all the threads in a process. This has two consequences:
  • Adapter objects must be allocated in a multi-threaded heap owned by the Graphics Resource Adapter singleton.

  • Access to adapter objects must be synchronised by means of a mutual exclusion mechanism.

Public Member Functions
voidClose()

Member Functions Documentation

Close()

voidClose()[pure virtual]

Closes this adapter object by decrementing its reference count by one and, if the count becomes zero, destroying the adapter object. If the adapter object is destroyed then the reference count for the represented resource is decremented by one.

RSgDrawable::Close() RSgImageCollection::Close()