CrystalSpace

Public API Reference

iutil/objreg.h File Reference

Object registry interface. More...

#include "csutil/ref.h"
#include "csutil/scf_interface.h"

Go to the source code of this file.

Classes

struct  iObjectRegistry
 This interface serves as a registry of other objects. More...
struct  iObjectRegistryIterator
 Use an instance of this class to iterate over objects in the object registry. More...

Defines

#define CS_QUERY_REGISTRY(Reg, Interface)   (csQueryRegistry<Interface>(Reg))
#define CS_QUERY_REGISTRY_TAG(Reg, Tag)   (csQueryRegistryTag(Reg, Tag))
#define CS_QUERY_REGISTRY_TAG_INTERFACE(Reg, Tag, Interface)   (csQueryRegistryTagInterface<Interface>(Reg, Tag))

Functions

template<class Interface>
csPtr< Interface > csQueryRegistry (iObjectRegistry *Reg)
 Query an interface from the registry.
csPtr< iBasecsQueryRegistryTag (iObjectRegistry *Reg, const char *Tag)
 Query an object from the registry, with a tag specified by the user.
template<class Interface>
csPtr< Interface > csQueryRegistryTagInterface (iObjectRegistry *Reg, const char *Tag)
 Query an interface from the registry, with a tag specified by the user.


Detailed Description

Object registry interface.

Definition in file objreg.h.


Define Documentation

#define CS_QUERY_REGISTRY ( Reg,
Interface   )     (csQueryRegistry<Interface>(Reg))

Deprecated:
Compatibility macro
See also:
csQueryRegistry

Definition at line 215 of file objreg.h.

Referenced by csDebugImageWriter::DebugImageWrite(), and csReporterHelper::ReportV().

#define CS_QUERY_REGISTRY_TAG ( Reg,
Tag   )     (csQueryRegistryTag(Reg, Tag))

Deprecated:
Compatibility macro
See also:
csQueryRegistryTag

Definition at line 210 of file objreg.h.

#define CS_QUERY_REGISTRY_TAG_INTERFACE ( Reg,
Tag,
Interface   )     (csQueryRegistryTagInterface<Interface>(Reg, Tag))

Deprecated:
Compatibility macro
See also:
csQueryRegistryTagInterface

Definition at line 220 of file objreg.h.


Function Documentation

template<class Interface>
csPtr<Interface> csQueryRegistry ( iObjectRegistry Reg  )  [inline]

Query an interface from the registry.

The tag is the name of the interface.

Definition at line 161 of file objreg.h.

References iBase::DecRef(), iObjectRegistry::Get(), and iBase::QueryInterface().

csPtr<iBase> csQueryRegistryTag ( iObjectRegistry Reg,
const char *  Tag 
) [inline]

Query an object from the registry, with a tag specified by the user.

Definition at line 180 of file objreg.h.

References iObjectRegistry::Get().

template<class Interface>
csPtr<Interface> csQueryRegistryTagInterface ( iObjectRegistry Reg,
const char *  Tag 
) [inline]

Query an interface from the registry, with a tag specified by the user.

Definition at line 189 of file objreg.h.

References iBase::DecRef(), iObjectRegistry::Get(), and iBase::QueryInterface().


Generated for Crystal Space by doxygen 1.4.7