SpikeStream Application Library  0.2
AbstractDeviceManager.h
Go to the documentation of this file.
00001 #ifndef ABSTRACTDEVICEMANAGER_H
00002 #define ABSTRACTDEVICEMANAGER_H
00003 
00004 //SpikeStream includes
00005 #include "SpikeStreamTypes.h"
00006 
00007 //Qt includes
00008 #include <QList>
00009 
00010 namespace spikestream {
00011 
00013         class AbstractDeviceManager{
00014 
00015                 public:
00016                         AbstractDeviceManager();
00017                         virtual ~AbstractDeviceManager();
00018 
00020                         virtual QList<neurid_t>::iterator outputNeuronsBegin() = 0;
00021 
00023                         virtual QList<neurid_t>::iterator outputNeuronsEnd() = 0;
00024 
00026                         virtual void setInputNeurons(timestep_t timeStep, QList<neurid_t>& firingNeuronIDs) = 0;
00027 
00029                         virtual void step() = 0;
00030 
00032                         double getCurrent() { return current; }
00033 
00035                         bool isFireNeuronMode() { return fireNeuronMode; }
00036 
00038                         void setCurrent(double current) { this->current = current; }
00039 
00041                         void setFireNeuronMode(bool fireNeuronMode ) { this->fireNeuronMode = fireNeuronMode; }
00042 
00043 
00044                 private:
00046                         bool fireNeuronMode;
00047 
00049                         double current;
00050 
00051         };
00052 
00053 }
00054 
00055 #endif//ABSTRACTDEVICEMANAGER_H
 All Classes Files Functions Variables Typedefs Friends Defines