iBase Struct Reference
[Shared Class Facility (SCF)]
This is the basic interface: all other interfaces should be derived from this one, this will allow us to always use at least some minimal functionality given any interface pointer.
More...
#include <csutil/scf_interface.h>
Inheritance diagram for iBase:

Public Member Functions | |
virtual void | AddRefOwner (iBase **ref_owner)=0 |
For weak references: add a reference owner. | |
virtual void | DecRef ()=0 |
Decrement the reference count. | |
virtual int | GetRefCount ()=0 |
Get the ref count (only for debugging). | |
virtual void | IncRef ()=0 |
Increment the number of references to this object. | |
virtual void * | QueryInterface (scfInterfaceID iInterfaceID, int iVersion)=0 |
Query a particular interface implemented by this object. | |
virtual void | RemoveRefOwner (iBase **ref_owner)=0 |
For weak references: remove a reference owner. |
Detailed Description
This is the basic interface: all other interfaces should be derived from this one, this will allow us to always use at least some minimal functionality given any interface pointer.
Definition at line 104 of file scf_interface.h.
Member Function Documentation
|
For weak references: add a reference owner.
Implemented in scfImplementation< Class >. |
|
Decrement the reference count.
Implemented in csPoolEvent, and scfImplementation< Class >. Referenced by csLoadPlugin(), csQueryPluginClass(), csQueryRegistry(), csQueryRegistryTagInterface(), scfImplementation< Class >::DecRef(), and scfCreateInstance(). |
|
Get the ref count (only for debugging).
Implemented in scfImplementation< Class >. |
|
Increment the number of references to this object.
Implemented in scfImplementation< Class >. Referenced by scfImplementation< Class >::scfImplementation(), and csParticleSystem::SetVisibleCallback(). |
|
Query a particular interface implemented by this object. You are _not_ allowed to cast this to anything but a pointer to this interface (not even iBase). Use scfQueryInterface<interface> instead of using this method directly. Implemented in scfImplementation< Class >. Referenced by csLoadPlugin(), csQueryPluginClass(), csQueryRegistry(), csQueryRegistryTagInterface(), csTypedObjectIterator< T >::FindName(), scfImplementation< Class >::QueryInterface(), and scfCreateInstance(). |
|
For weak references: remove a reference owner.
Implemented in scfImplementation< Class >. |
The documentation for this struct was generated from the following file:
- csutil/scf_interface.h
Generated for Crystal Space by doxygen 1.4.4