BALL::Embeddable Class Reference
[Miscellaneous]

Python Embedding Base Class. More...

#include <embeddable.h>

Inheritance diagram for BALL::Embeddable:
Inheritance graph
[legend]

List of all members.


Public Types

Type definitions
typedef std::vector< Embeddable * > EmbeddableVector

Public Member Functions

virtual void dump (std::ostream &s=std::cout, Size depth=0) const
Internal value dump.
Constructors and Destructors
Embeddable (const String &identifier="<Embeddable>")
Default constructor.
Embeddable (const Embeddable &embeddable)
Copy constructor.
virtual ~Embeddable ()
Accessors
void setIdentifier (const String &identifier)
Return the instance identifier.
const String & getIdentifier () const
Assign a new identifier.
void unregisterThis ()
Unregister the instance.
virtual void registerThis ()
Register the instance.

Static Protected Member Functions

static void registerInstance_ (const std::type_info &type, const Embeddable *instance)
static void unregisterInstance_ (const Embeddable *instance)
static Size countInstances_ (const std::type_info &type)
Return the number of instances of a certain type.
static Embeddable * getInstance_ (const std::type_info &type, Position index)
Return an instance of a registered type by its index.
static Embeddable * getInstance_ (const std::type_info &type, const String &identifier)
Return an instance of a registered type by its identifier.

Detailed Description

Python Embedding Base Class.

This class defines a common interface for all classes that have to be accessible from an embedded Python interpreter. Each instance of a class derived from embeddable can be registered by calling registerThis() of the instance and is then accessible through the static methods of the class (e.g. getInstance).

See also:
PyInterpreter

MainControl

ModularWidget


Member Function Documentation

virtual void BALL::Embeddable::dump ( std::ostream & s = std::cout,
Size depth = 0
) const [virtual]

Internal value dump.

Dump the current state to the output ostream s with dumping depth depth.

Parameters:
s output stream where to output the state
depth the dumping depth

Reimplemented in BALL::VIEW::MainControl, BALL::VIEW::ModularWidget, BALL::VIEW::ServerWidget, BALL::VIEW::PyWidget, and BALL::VIEW::Scene.

static Embeddable* BALL::Embeddable::getInstance_ ( const std::type_info & type,
const String & identifier
) [static, protected]

Return an instance of a registered type by its identifier.

If the identifier does not exist, a null pointer is returned

static Embeddable* BALL::Embeddable::getInstance_ ( const std::type_info & type,
Position index
) [static, protected]

Return an instance of a registered type by its index.

If the index is out of bounds or the position is invalid, a null pointer is returned

virtual void BALL::Embeddable::registerThis ( ) [virtual]

Register the instance.

DO NOT IMPLEMENT THIS METHOD! It is automatically implemented correctly when putting the BALL_EMBEDDABLE macro in a class definition.

See also:
getInstanceVector

Generated on Thu Aug 6 18:30:26 2009 for BALL by doxygen 1.5.8