baseexperiment.h
73 OperationResumed,
75 OperationStepDelayChanged
111 StartOperationPaused,
118 StepOperation,
120 ResumeOperation,
122 ChangeInterval
265 class FARSA_EXPERIMENTS_API BaseExperiment : public Component, public ParameterSettableUI, public ThreadOperation, private FlowControlled
300 virtual void newDatumAvailable(DataDownloader<__BaseExperiment_internal::OperationControl>* downloader);
675 OperationWrapperThreeParameters(T* experiment, void (T::*operation)(P0, P1, P2), P0 p0, P1 p1, P2 p2)
942 DataUploaderDownloader<__BaseExperiment_internal::OperationStatus, __BaseExperiment_internal::OperationControl>* getUploaderDownloader();
1037 std::auto_ptr<AbstractOperationWrapper> newOp(new OperationWrapper<T>(static_cast<T*>(this), func));
1045 uploadNewOperationStatus(__BaseExperiment_internal::OperationStatus::NewOperation, m_operationsVector.size() - 1);
1068 void addOperation(QString name, void (T::*func)(P0), P0 p0, bool useSeparateThread, bool steppable)
1070 std::auto_ptr<AbstractOperationWrapper> newOp(new OperationWrapperOneParameter<T, P0>(static_cast<T*>(this), func, p0));
1078 uploadNewOperationStatus(__BaseExperiment_internal::OperationStatus::NewOperation, m_operationsVector.size() - 1);
1102 void addOperation(QString name, void (T::*func)(P0, P1), P0 p0, P1 p1, bool useSeparateThread, bool steppable)
1104 std::auto_ptr<AbstractOperationWrapper> newOp(new OperationWrapperTwoParameters<T, P0, P1>(static_cast<T*>(this), func, p0, p1));
1112 uploadNewOperationStatus(__BaseExperiment_internal::OperationStatus::NewOperation, m_operationsVector.size() - 1);
1137 void addOperation(QString name, void (T::*func)(P0, P1, P2), P0 p0, P1 p1, P2 p2, bool useSeparateThread, bool steppable)
1139 std::auto_ptr<AbstractOperationWrapper> newOp(new OperationWrapperThreeParameters<T, P0, P1, P2>(static_cast<T*>(this), func, p0, p1, p2));
1147 uploadNewOperationStatus(__BaseExperiment_internal::OperationStatus::NewOperation, m_operationsVector.size() - 1);
1202 void uploadNewOperationStatus(__BaseExperiment_internal::OperationStatus::Status status, unsigned int operationID, unsigned long newDelay = 0);
1298 DataUploaderDownloader<__BaseExperiment_internal::OperationStatus, __BaseExperiment_internal::OperationControl> m_dataExchange;
1316 #define DECLARE_THREAD_OPERATION(classname, op) addOperation(#op, &classname::op, true, false);
1326 #define DECLARE_STEPPABLE_THREAD_OPERATION(classname, op) addOperation(#op, &classname::op, true, true);
1336 #define DECLARE_IMMEDIATE_OPERATION(classname, op) addOperation(#op, &classname::op, false, false);
bool getUseSeparateThread() const
Returns true if the operation is run in a separate thread.
Definition: baseexperiment.h:385
The class for operation wrappers.
Definition: baseexperiment.h:453
OperationWrapperTwoParameters(T *experiment, void(T::*operation)(P0, P1), P0 p0, P1 p1)
Constructor.
Definition: baseexperiment.h:586
const P0 & p0() const
Returns the first parameter that is passed to the function.
Definition: baseexperiment.h:601
The base for classes that have a controllable flow of execution.
Definition: flowcontrol.h:170
unsigned int operationID
The id of the operation that was added/started/ended...
Definition: baseexperiment.h:90
The class for operation wrappers taking two parameters.
Definition: baseexperiment.h:574
unsigned long delay
The new delay for steps of the current operation.
Definition: baseexperiment.h:98
The class for operation wrappers taking one parameter.
Definition: baseexperiment.h:505
void addOperation(QString name, void(T::*func)(), bool useSeparateThread, bool steppable)
The function that adds the given operation to the list of all operations declared by the experiment...
Definition: baseexperiment.h:1035
const P0 & p0() const
Returns the first parameter that is passed to the function.
Definition: baseexperiment.h:691
OperationWrapperOneParameter(T *experiment, void(T::*operation)(P0), P0 p0)
Constructor.
Definition: baseexperiment.h:516
The base abstract class for operation wrappers.
Definition: baseexperiment.h:370
This file contains the common type defitions used on the whole framework.
void addOperation(QString name, void(T::*func)(P0, P1, P2), P0 p0, P1 p1, P2 p2, bool useSeparateThread, bool steppable)
The function that adds the given operation that takes three parameters to the list of all operations ...
Definition: baseexperiment.h:1137
const P1 & p1() const
Returns the second parameter that is passed to the function.
Definition: baseexperiment.h:702
const P1 & p1() const
Returns the second parameter that is passed to the function.
Definition: baseexperiment.h:612
const P2 & p2() const
Returns the third parameter that is passed to the function.
Definition: baseexperiment.h:713
const P0 & p0() const
Returns the parameter that is passed to the function.
Definition: baseexperiment.h:529
The Component is the base (abstract) class for any specific project implementation.
Definition: component.h:45
The interface for classes controlling the flow of execution.
Definition: flowcontrol.h:36
void addOperation(QString name, void(T::*func)(P0), P0 p0, bool useSeparateThread, bool steppable)
The function that adds the given operation that takes one parameter to the list of all operations dec...
Definition: baseexperiment.h:1068
void addOperation(QString name, void(T::*func)(P0, P1), P0 p0, P1 p1, bool useSeparateThread, bool steppable)
The function that adds the given operation that takes two parameters to the list of all operations de...
Definition: baseexperiment.h:1102
bool getSteppable() const
Returns true if the operation can be run step-by-step.
Definition: baseexperiment.h:393
The class for operation wrappers taking three parameters.
Definition: baseexperiment.h:662
The data sent by a BaseExperimentGUI instance to the corresponding experiment.
Definition: baseexperiment.h:105
The data sent by a BaseExperiment instance to the corresponding GUI.
Definition: baseexperiment.h:64
OperationWrapperThreeParameters(T *experiment, void(T::*operation)(P0, P1, P2), P0 p0, P1 p1, P2 p2)
Constructor.
Definition: baseexperiment.h:675