broker Class Reference

#include <broker.hpp>

Inheritance diagram for broker:

Inheritance graph
[legend]
Collaboration diagram for broker:

Collaboration graph
[legend]

List of all members.


Detailed Description

This class serves to broker plugin object creation and config_recorduration.

In order to make a class brokerable, simply use the BROKER_DECLARE_CREATOR() and BROKER_DEFINE_CREATOR() macros. These will create the global broker if necessary, and automatically register the class as creatable. The broker will delete itself when its last creator goes out of scope.

Definition at line 85 of file broker.hpp.


Public Member Functions

brokered_objectcreate_object (const gsgl::string &type_name, const config_record &conf)
bool has_object (const gsgl::string &type_name)
void register_resource (R *)
void unregister_resource (R *)

Static Public Member Functions

static brokerglobal_instance ()
 Reimplemented in order to auto-create.

Protected Attributes

registered_resources

Private Member Functions

 broker ()
virtual ~broker ()

Constructor & Destructor Documentation

broker (  )  [private]

Definition at line 69 of file broker.cpp.

References gsgl::log().

Referenced by broker::global_instance().

~broker (  )  [private, virtual]

Definition at line 76 of file broker.cpp.

References gsgl::log().


Member Function Documentation

brokered_object * create_object ( const gsgl::string type_name,
const config_record conf 
)

broker * global_instance (  )  [static]

Reimplemented in order to auto-create.

Reimplemented from global_register.

Definition at line 110 of file broker.cpp.

References broker::broker().

Referenced by broker_creator::broker_creator(), application::load_objects(), simulation::simulation(), vehicle::vehicle(), and broker_creator::~broker_creator().

bool has_object ( const gsgl::string type_name  ) 

Definition at line 82 of file broker.cpp.

References global_register::registered_resources.

Referenced by application::load_objects().

void register_resource ( R *  r  )  [inline, inherited]

void unregister_resource ( R *  r  )  [inline, inherited]


Member Data Documentation

L registered_resources [protected, inherited]


The documentation for this class was generated from the following files:

Generated on Sat Mar 1 13:50:05 2008 for Periapsis Project by  doxygen 1.5.5