|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]||[ Search: ]|
Original SCF design and concept by Andrew Zabolotny, 1999. This document and Crystal Space's particular SCF implementation were written, and are copyright © 1999 by Andrew Zabolotny, firstname.lastname@example.org. SCF is distributed under the GNU Library General Public License (LGPL). See section Licenses.
Documentation revised significantly by Eric Sunshine, email@example.com. Last updated September 24, 2003.
SCF implementation revised by Mårten Svanfeldt and Michael Adams 2005-2006
This library is intended for separating C++ class implementations from programs that use them. This is achieved by separating class implementations into a separate module in the form of shared libraries, which are also called plugin modules. Separating the implementation of a class from the program helps to address problems regarding shared library facility incompatibilities on different platforms. It also makes it possible to use different mechanisms for SCF, for example inter-process communication (through pipes, shared memory, or whatever); communication through network or through a COM or CORBA request broker; although currently only two minimal configurations supported: using shared libraries and using static linkage (for platforms that don't have shared library support).
There is a HOWTO which explains how to create a plugin module from the ground up using SCF technology (see section Create Your Own Plugin). The HOWTO provides a much more concise explanation about how to create and utilize a plugin than what you will find here, since this section is more interested in exposing SCF in gory detail. There is also a HOWTO which explains how to make using SCF interfaces easier by using smart pointers (see section Correctly Using Smart Pointers).
The SCF implementation is resides within the ‘CS/libs/csutil’ module.
|188.8.131.52 How it Works|
|184.108.40.206 Using SCF|
|220.127.116.11 Classes Implementing Multiple Interfaces|
|18.104.22.168 Interface and implementation inheritance|
|22.214.171.124 Interface Versions|
|126.96.36.199 Client Side|
|188.8.131.52 Plugin Meta-Information|
|184.108.40.206 Meta-Information Embedding|
|220.127.116.11 Plugin Discovery|
|18.104.22.168 Advanced Techniques|
|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
This document was generated using texi2html 1.76.