Main Page | Namespace List | Alphabetical List | Class List | Directories | File List | Class Members | File Members

ClassLoader Class Reference

#include <ClassLoader.h>

List of all members.

Public Member Functions

 ClassLoader (DBInterface *netDBInter)
 ~ClassLoader ()
string getConnGrpParameterTableName (unsigned int connGrpID)
string getNeuronParameterTableName (unsigned short neuronType)
NeurongetNewNeuron (unsigned short neuronType)
SynapsegetNewSynapse (unsigned short synapseType)

Private Member Functions

 ClassLoader (const ClassLoader &)
ClassLoader operator= (const ClassLoader &)
void loadNeuronClasses ()
void loadSynapseClasses ()

Private Attributes

DBInterface * networkDBInterface
map< unsigned short, CreateNeuronFunctionTypeneuronFunctionMap
map< unsigned short, CreateSynapseFunctionTypesynapseFunctionMap
map< unsigned short, string > neuronParameterTableMap
map< unsigned int, string > synapseParameterTableMap


Detailed Description

Dynamically loads neuron and synapse classes from libraries. The location of these libraries is defined in the NeuronTypes and SynapseTypes tables.

Definition at line 50 of file ClassLoader.h.


Constructor & Destructor Documentation

ClassLoader::ClassLoader DBInterface *  netDBInter  ) 
 

Constructor.

Definition at line 62 of file ClassLoader.cpp.

References loadNeuronClasses(), loadSynapseClasses(), and networkDBInterface.

ClassLoader::~ClassLoader  ) 
 

Destructor.

Definition at line 73 of file ClassLoader.cpp.

ClassLoader::ClassLoader const ClassLoader  )  [private]
 

Declare copy constructor private so it cannot be used inadvertently.


Member Function Documentation

string ClassLoader::getConnGrpParameterTableName unsigned int  connGrpID  ) 
 

Returns the name of the parameter table for a given connection group.

Definition at line 85 of file ClassLoader.cpp.

References synapseParameterTableMap, synapseTypeNotFoundException, and SpikeStreamSimulation::systemError().

Referenced by SpikeStreamSimulation::loadSynapseParameters().

string ClassLoader::getNeuronParameterTableName unsigned short  neuronType  ) 
 

Returns the parameter table for a given neuron type.

Definition at line 98 of file ClassLoader.cpp.

References neuronParameterTableMap, neuronTypeNotFoundException, and SpikeStreamSimulation::systemError().

Referenced by SpikeStreamSimulation::loadNeuronParameters().

Neuron * ClassLoader::getNewNeuron unsigned short  neuronType  ) 
 

Creates a new neuron of the specified type.

Definition at line 111 of file ClassLoader.cpp.

References Neuron::getDescription(), neuronFunctionMap, neuronTypeNotFoundException, and SpikeStreamSimulation::systemError().

Referenced by SpikeStreamSimulation::loadNeurons().

Synapse * ClassLoader::getNewSynapse unsigned short  synapseType  ) 
 

Creates a new synapse of the specified type.

Definition at line 127 of file ClassLoader.cpp.

References Synapse::getDescription(), synapseFunctionMap, synapseTypeNotFoundException, and SpikeStreamSimulation::systemError().

Referenced by SpikeStreamSimulation::loadSynapses().

void ClassLoader::loadNeuronClasses  )  [private]
 

Loads all the neuron classes from libraries and stores function pointers to the method that creates them so that they can be created easily on demand.

Definition at line 149 of file ClassLoader.cpp.

References Neuron::getDescription(), networkDBInterface, neuronFunctionMap, neuronParameterTableMap, spikestreamRootNotFoundException, and SpikeStreamSimulation::systemError().

Referenced by ClassLoader().

void ClassLoader::loadSynapseClasses  )  [private]
 

Loads all the synapse classes from libraries and stores function pointers to the method that creates them so that they can be created easily on demand.

Definition at line 232 of file ClassLoader.cpp.

References Synapse::getDescription(), networkDBInterface, synapseFunctionMap, synapseParameterTableMap, and SpikeStreamSimulation::systemError().

Referenced by ClassLoader().

ClassLoader ClassLoader::operator= const ClassLoader  )  [private]
 

Declare assignment private so it cannot be used inadvertently.


Member Data Documentation

DBInterface* ClassLoader::networkDBInterface [private]
 

Hold reference to dbinterface.

Definition at line 64 of file ClassLoader.h.

Referenced by ClassLoader(), loadNeuronClasses(), and loadSynapseClasses().

map<unsigned short, CreateNeuronFunctionType> ClassLoader::neuronFunctionMap [private]
 

Map holding function pointers that create neurons of each type.

Definition at line 67 of file ClassLoader.h.

Referenced by getNewNeuron(), and loadNeuronClasses().

map<unsigned short, string> ClassLoader::neuronParameterTableMap [private]
 

Map holding details about neuron parameter tables.

Definition at line 73 of file ClassLoader.h.

Referenced by getNeuronParameterTableName(), and loadNeuronClasses().

map<unsigned short, CreateSynapseFunctionType> ClassLoader::synapseFunctionMap [private]
 

Map holding function pointers that create synapses of each type.

Definition at line 70 of file ClassLoader.h.

Referenced by getNewSynapse(), and loadSynapseClasses().

map<unsigned int, string> ClassLoader::synapseParameterTableMap [private]
 

Map holding details about synapse parameter tables.

Definition at line 76 of file ClassLoader.h.

Referenced by getConnGrpParameterTableName(), and loadSynapseClasses().


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 22:24:34 2007 for SpikeStream Simulation by  doxygen 1.4.4