14 #ifndef RECORDREADER_H_
15 #define RECORDREADER_H_
27 const shared_ptr<XComboNode> &speed()
const {
return m_speed;}
28 const shared_ptr<XBoolNode> &fastForward()
const {
return m_fastForward;}
29 const shared_ptr<XBoolNode> &rewind()
const {
return m_rewind;}
30 const shared_ptr<XTouchableNode> &stop()
const {
return m_stop;}
31 const shared_ptr<XTouchableNode> &first()
const {
return m_first;}
32 const shared_ptr<XTouchableNode> &next()
const {
return m_next;}
33 const shared_ptr<XTouchableNode> &back()
const {
return m_back;}
34 const shared_ptr<XStringNode> &posString()
const {
return m_posString;}
42 XIOError(
const char *file,
int line);
60 const shared_ptr<XComboNode> m_speed;
61 const shared_ptr<XBoolNode> m_fastForward;
62 const shared_ptr<XBoolNode> m_rewind;
63 const shared_ptr<XTouchableNode> m_stop;
64 const shared_ptr<XTouchableNode> m_first, m_next, m_back;
65 const shared_ptr<XStringNode> m_posString;
73 shared_ptr<XListener> m_lsnOnOpen;
81 void next_(
void *) throw (XRecordError &);
82 void goToHeader(
void *) throw (XRecordError &);
84 void readHeader(
void *) throw (XRecordError &);
88 void gzgetline(
void*fd,
unsigned char*buf,
unsigned int len,
int del) throw (XIOError &);
91 typedef std::vector<tThread> tThreadList;
92 typedef tThreadList::iterator tThreadIt;
93 tThreadList m_threads;
94 void *execute(const
atomic<
bool> &);
96 double m_periodicTerm;
99 shared_ptr<
XListener> m_lsnStop, m_lsnFirst, m_lsnNext, m_lsnBack;