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 (int argc, const char *const argv[], bool scanDefaultPluginPaths=true) |
This function should be called to initialize client SCF library. | |
void | scfInitialize (csPathsList const *pluginPaths, unsigned int verbose=SCF_VERBOSE_NONE) |
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.
Generated for Crystal Space 2.0 by doxygen 1.6.1