Base class for all instrument drivers. More...
#include <driver.h>
Classes | |
struct | Payload |
struct | XBufferUnderflowRecordError |
The size of the raw record is not enough to continue analyzing. More... | |
struct | XRecordError |
struct | XSkippedRecordError |
Throwing this exception will skip signal emission, assuming record is kept valid. More... | |
Public Member Functions | |
XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
virtual void | showForms ()=0 |
Shows all forms belonging to the driver. | |
Public Member Functions inherited from XNode | |
XNode (const char *name, bool runtime=false) | |
template<class T > | |
shared_ptr< T > | create (const char *name) |
template<class T , typename... Args> | |
shared_ptr< T > | create (const char *name, bool runtime, Args &&...args) |
template<class T > | |
shared_ptr< T > | create (Transaction &tr, const char *name) |
template<class T , typename... Args> | |
shared_ptr< T > | create (Transaction &tr, const char *name, bool runtime, Args &&...args) |
XString | getName () const |
virtual XString | getLabel () const |
XString | getTypename () const |
shared_ptr< XNode > | getChild (const XString &var) const |
shared_ptr< XNode > | getParent () const |
void | setUIEnabled (bool v) |
Enables/disables controls over scripting/GUI. | |
void | disable () |
Disables all scripting/GUI operations on this node hereafter. | |
Public Member Functions inherited from Transactional::Node< XNode > | |
bool | insert (Transaction< XNode > &tr, const shared_ptr< XNode > &var, bool online_after_insertion=false) |
void | insert (const shared_ptr< XNode > &var) |
bool | release (Transaction< XNode > &tr, const shared_ptr< XNode > &var) |
void | release (const shared_ptr< XNode > &var) |
void | releaseAll () |
bool | swap (Transaction< XNode > &tr, const shared_ptr< XNode > &x, const shared_ptr< XNode > &y) |
void | swap (const shared_ptr< XNode > &x, const shared_ptr< XNode > &y) |
XNode * | upperNode (Snapshot< XNode > &shot) |
Finds the parent node in shot. | |
Snapshot< XNode > | iterate_commit (Closure) |
Snapshot< XNode > | iterate_commit_if (Closure) |
void | iterate_commit_while (Closure) |
void | print_ () const |
Node (const Node &)=delete | |
Node & | operator= (const Node &)=delete |
Protected Member Functions | |
virtual void | visualize (const Snapshot &shot)=0 |
void | record (Transaction &tr, const XTime &time_awared, const XTime &time_recorded) |
Additional Inherited Members | |
Public Types inherited from Transactional::Node< XNode > | |
using | NodeNotFoundError = std::domain_error |
using | NodeList = fast_vector< shared_ptr< XNode >, 2 > |
using | iterator = typename NodeList::iterator |
using | const_iterator = typename NodeList::const_iterator |
Static Public Member Functions inherited from XNode | |
template<class T__ > | |
static shared_ptr< T__ > | createOrphan (const char *name) |
template<class T__ , typename... Args_> | |
static shared_ptr< T__ > | createOrphan (const char *name, bool runtime, Args_ &&...args) |
|
protected |
Sets time stamps.
Definition at line 48 of file driver.cpp.
Referenced by XPrimaryDriver::finishWritingRaw().
|
protectedpure virtual |
This function is called after committing XPrimaryDriver::analyzeRaw() or XSecondaryDriver::analyze(). This might be called even if the record is invalid (time() == false).
Implemented in XPulser, XTempControl, XNMRBuiltInNetworkAnalyzer, XDCSource, XMonteCarloDriver, XNetworkAnalyzer, XQDPPMS, XSecondaryDriverInterface< XNetworkAnalyzer >, XMagnetPS, XSG, XDMM, XDSO, XTestDriver, XFuncSynth, XLevelMeter, XFlowControllerDriver, XLIA, XMotorDriver, and XCounter.
Referenced by XPrimaryDriver::finishWritingRaw().