csutil/scf.h File Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Defines | Enumerations | Functions
csutil/scf.h File Reference

Crystal Space Shared Class Facility (SCF) More...

`#include "csextern.h"`
`#include "csutil/array.h"`
`#include "csutil/ref.h"`
`#include "csutil/scf_interface.h"`
`#include "csutil/reftrackeraccess.h"`

Go to the source code of this file.

## Classes
struct | iFactory
| iFactory is an interface that is used to create instances of shared classes. More...
## Defines
#define | SCF_DEFINE_FACTORY_FUNC_REGISTRATION(Class)
| Define the C++ class needed to register an SCF class, but don't do any automatic registration.
#define | SCF_IMPLEMENT_FACTORY(Class)
| The SCF_IMPLEMENT_FACTORY macro is used to define a factory for one of exported classes.
#define | SCF_IMPLEMENT_FACTORY_CREATE(Class)
| The SCF_IMPLEMENT_FACTORY_CREATE macro is used to define a factory for one of exported classes.
#define | SCF_IMPLEMENT_FACTORY_FINIS(Class)
| The SCF_IMPLEMENT_FACTORY_FINIS macro defines finalization code for a plugin module.
#define | SCF_IMPLEMENT_FACTORY_INIT(Class)
| The SCF_IMPLEMENT_FACTORY_INIT macro defines initialization code for a plugin module.
#define | SCF_PRINT_CALL_ADDRESS
| Macro for getting the address we were called from (stack backtracing).
#define | SCF_REGISTER_FACTORY_FUNC(Class)
| Used in conjunction with SCF_REGISTER_STATIC_LIBRARY to ensure that a reference to the class(es) registered via SCF_REGISTER_STATIC_LIBRARY are actually linked into the application.
#define | SCF_REGISTER_STATIC_CLASS(Class, Ident, Desc, Dep)
| Automatically register a built-in class with SCF during startup.
#define | SCF_REGISTER_STATIC_LIBRARY(Module, MetaInfo)
| Automatically register a static library with SCF during startup.
#define | SCF_TRACE(x)
| Macro for typing debug strings: Add #define SCF_DEBUG at the top of modules you want to track miscelaneous SCF activity and recompile.
#define | SCF_USE_STATIC_PLUGIN(Module)
| Register a statically linked plugin.
## Enumerations
enum | { SCF_VERBOSE_NONE = 0, SCF_VERBOSE_PLUGIN_SCAN = 1 << 0, SCF_VERBOSE_PLUGIN_LOAD = 1 << 1, SCF_VERBOSE_PLUGIN_REGISTER = 1 << 2, SCF_VERBOSE_CLASS_REGISTER = 1 << 3, SCF_VERBOSE_ALL = ~0 }
| SCF verbosity flags. More...
## Functions
template<class Interface >
csPtr< Interface > | scfCreateInstance (char const *const ClassID)
| Handy function to create an instance of a shared class.
void | scfInitialize (csPathsList const *pluginPaths, unsigned int verbose=SCF_VERBOSE_NONE)
| This function should be called to initialize client SCF library.
void | scfInitialize (int argc, const char *const argv[], bool scanDefaultPluginPaths=true)
| This function should be called to initialize client SCF library.
template<class Interface , class ClassPtr >
csPtr< Interface > | scfQueryInterface (ClassPtr object)
| Helper function around iBase::QueryInterface.
template<class Interface , class ClassPtr >
csPtr< Interface > | scfQueryInterfaceSafe (ClassPtr object)
| Helper function around iBase::QueryInterface which also does null-check of object.
void | scfRegisterStaticClass (scfFactoryFunc, const char *iClassID, const char *Description, const char *Dependencies=0)
| Register a static class.
void | scfRegisterStaticClasses (char const *xml)
| Register a static class.
void | scfRegisterStaticFactoryFunc (scfFactoryFunc, const char *FactClass)
| Register a static class.

## Detailed Description

Crystal Space Shared Class Facility (SCF)

Definition in file scf.h.