Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XRawStreamRecordReader Class Reference
Inheritance diagram for XRawStreamRecordReader:
Inheritance graph
[legend]

Classes

struct  XBrokenRecordError
 
struct  XBufferOverflowError
 
struct  XIOError
 
struct  XNoDriverError
 
struct  XRecordError
 

Public Member Functions

 XRawStreamRecordReader (const char *name, bool runtime, const shared_ptr< XDriverList > &driverlist)
 
void terminate ()
 
void join ()
 
const shared_ptr< XComboNode > & speed () const
 
const shared_ptr< XBoolNode > & fastForward () const
 
const shared_ptr< XBoolNode > & rewind () const
 
const shared_ptr
< XTouchableNode > & 
stop () const
 
const shared_ptr
< XTouchableNode > & 
first () const
 
const shared_ptr
< XTouchableNode > & 
next () const
 
const shared_ptr
< XTouchableNode > & 
back () const
 
const shared_ptr< XStringNode > & posString () const
 
- Public Member Functions inherited from XRawStream
 XRawStream (const char *name, bool runtime, const shared_ptr< XDriverList > &driverlist)
 
const shared_ptr< XStringNode > & filename () const
 
- 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
 

Private Types

typedef shared_ptr< XThread
< XRawStreamRecordReader > > 
tThread
 
typedef std::vector< tThread > tThreadList
 
typedef tThreadList::iterator tThreadIt
 

Private Member Functions

void onPlayCondChanged (const Snapshot &shot, XValueNodeBase *)
 
void onStop (const Snapshot &shot, XTouchableNode *)
 
void onFirst (const Snapshot &shot, XTouchableNode *)
 
void onNext (const Snapshot &shot, XTouchableNode *)
 
void onBack (const Snapshot &shot, XTouchableNode *)
 
void onOpen (const Snapshot &shot, XValueNodeBase *)
 
void first_ (void *) throw (XIOError &)
 change position without parsing
 
void previous_ (void *) throw (XRecordError &)
 
void next_ (void *) throw (XRecordError &)
 
void goToHeader (void *) throw (XRecordError &)
 
void readHeader (void *) throw (XRecordError &)
 
void parseOne (void *, XMutex &mutex) throw (XRecordError &)
 Parse current pos and go next.
 
void gzgetline (void *fd, unsigned char *buf, unsigned int len, int del) throw (XIOError &)
 
void * execute (const atomic< bool > &)
 

Private Attributes

const shared_ptr< XComboNodem_speed
 
const shared_ptr< XBoolNodem_fastForward
 
const shared_ptr< XBoolNodem_rewind
 
const shared_ptr< XTouchableNodem_stop
 
const shared_ptr< XTouchableNodem_first
 
const shared_ptr< XTouchableNodem_next
 
const shared_ptr< XTouchableNodem_back
 
const shared_ptr< XStringNodem_posString
 
shared_ptr< XListenerm_lsnOnOpen
 
uint32_t m_allsize
 
XTime m_time
 
tThreadList m_threads
 
XCondition m_condition
 
double m_periodicTerm
 
XMutex m_drivermutex
 
shared_ptr< XListenerm_lsnStop
 
shared_ptr< XListenerm_lsnFirst
 
shared_ptr< XListenerm_lsnNext
 
shared_ptr< XListenerm_lsnBack
 
shared_ptr< XListenerm_lsnPlayCond
 

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 Member Functions inherited from Transactional::Node< XNode >
 Node ()
 Use create().
 
- Protected Attributes inherited from XRawStream
shared_ptr< XDriverListm_drivers
 
void * m_pGFD
 file descriptor of GZip
 
XMutex m_filemutex
 

Detailed Description

Definition at line 19 of file recordreader.h.


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

Generated for KAME4 by  doxygen 1.8.3