Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
XPrimaryDriver Class Referenceabstract
Inheritance diagram for XPrimaryDriver:
Inheritance graph
[legend]

Classes

struct  Payload
 
struct  RawData
 These are FIFO. More...
 
struct  RawDataReader
 

Public Member Functions

 XPrimaryDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual void showForms ()=0
 Shows all forms belonging to driver.
 
virtual void stop ()=0
 
- Public Member Functions inherited from XDriver
 XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- 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< XNodegetChild (const XString &var) const
 
shared_ptr< XNodegetParent () 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)
 
XNodeupperNode (Snapshot< XNode > &shot)
 Finds the parent node in shot.
 
Snapshot< XNodeiterate_commit (Closure)
 
Snapshot< XNodeiterate_commit_if (Closure)
 
void iterate_commit_while (Closure)
 
void print_ () const
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 

Protected Member Functions

virtual void start ()=0
 
virtual void closeInterface ()=0
 
virtual void analyzeRaw (RawDataReader &reader, Transaction &tr)=0 throw (XRecordError&)
 
void finishWritingRaw (const shared_ptr< const RawData > &rawdata, const XTime &time_awared, const XTime &time_recorded)
 
- Protected Member Functions inherited from XDriver
virtual void visualize (const Snapshot &shot)=0
 
void record (Transaction &tr, const XTime &time_awared, const XTime &time_recorded)
 

Friends

class XRawStreamRecordReader
 
class XRawStreamRecorder
 

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)
 

Detailed Description

Definition at line 20 of file primarydriver.h.

Member Function Documentation

virtual void XPrimaryDriver::analyzeRaw ( RawDataReader reader,
Transaction tr 
) throw (XRecordError&)
protectedpure virtual

This function will be called when raw data are written. Implement this function to convert the raw data to the record (Payload).

See Also
analyze()

Implemented in XPulser, XTempControl, XDCSource, XMonteCarloDriver, XNetworkAnalyzer, XQDPPMS, XMagnetPS, XSG, XDMM, XDSO, XTestDriver, XFuncSynth, XLevelMeter, XFlowControllerDriver, XLIA, XMotorDriver, and XCounter.

Referenced by finishWritingRaw().

virtual void XPrimaryDriver::closeInterface ( )
protectedpure virtual
void XPrimaryDriver::finishWritingRaw ( const shared_ptr< const RawData > &  rawdata,
const XTime time_awared,
const XTime time_recorded 
)
protected

will call analyzeRaw()

Parameters
rawdatathe data being processed.
time_awaredtime when a visible phenomenon started
time_recordedusually pass XTime::now()
See Also
Payload::timeAwared()
Payload::time()

Definition at line 22 of file primarydriver.cpp.

References analyzeRaw(), XNode::getLabel(), Transactional::Node< XNode >::iterate_commit(), XDriver::record(), and XDriver::visualize().

virtual void XPrimaryDriver::start ( )
protectedpure virtual
virtual void XPrimaryDriver::stop ( )
pure virtual

Shuts down your threads, unconnects GUI, and deactivates signals.
This function may be called even if driver has already stopped. This should not cause an exception.

Implemented in XPulser, XThamwayPROT< tInterface >, XThamwayPROT< XThamwayMODCUSBInterface >, XThamwayPROT< XCharInterface >, XSecondaryDriverInterface< XNetworkAnalyzer >, XDCSource, XMonteCarloDriver, XSG, XFuncSynth, and XPrimaryDriverWithThread.

Referenced by XMeasure::stop().


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

Generated for KAME4 by  doxygen 1.8.3