CrystalSpace

Public API Reference

csutil/scf_interface.h File Reference

Crystal Space Shared Class Facility (SCF) - interface creation support. More...

#include "csextern.h"

Go to the source code of this file.

Classes

struct  iBase
 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...
struct  iSCF
 iSCF is the interface that allows using SCF functions from shared classes. More...
struct  scfInterfaceMetadata
 Metadata about a single interface implemented within a class. More...
struct  scfInterfaceMetadataList
 A chain list of metadata for interfaces implemented within a class. More...
class  scfInterfaceTraits< Interface >
 Interface information query class. More...

Defines

#define SCF_CONSTRUCT_VERSION(Major, Minor, Micro)   ((Major << 24) | (Minor << 16) | Micro)
 Use this macro to construct interface version numbers.
#define SCF_INTERFACE(Name, Major, Minor, Micro)
 SCF_INTERFACE can be used to define an interface's version number; you should specify interface name and major, minor and micro version components.
#define SCF_VERSION(Name, Major, Minor, Micro)
 FOR COMPATIBILITY! SCF_VERSION can be used to define an interface's version number; you should specify interface name and major, minor and micro version components.

Typedefs

typedef iBase *(* scfFactoryFunc )(iBase *)
 Type of factory function which creates an instance of an SCF class.
typedef unsigned long scfInterfaceID
 Type of registered interface handle used by iBase::QueryInterface().
typedef int scfInterfaceVersion
 Type of interface version used by iBase::QueryInterface().

Functions

static bool scfCompatibleVersion (scfInterfaceVersion iVersion, scfInterfaceVersion iItfVersion)
 This function checks whenever an interface is compatible with given version.

Detailed Description

Crystal Space Shared Class Facility (SCF) - interface creation support.

Definition in file scf_interface.h.


Generated for Crystal Space 2.0 by doxygen 1.6.1