1 #ifndef EABSTRACTDATA_H 2 #define EABSTRACTDATA_H 6 #include "eexception.h" 34 virtual qint64
dataEnd()
const = 0;
51 virtual QAbstractTableModel*
model() = 0;
53 template<
class T>
const T*
cast()
const;
54 template<
class T> T*
cast();
61 void seek(qint64 index)
const;
83 const T* ret {qobject_cast<
const T*>(
this)};
87 e.setTitle(tr(
"Logic Error"));
88 e.setDetails(tr(
"Cannot convert abstract data object to given type."));
111 T* ret {qobject_cast<T*>(
this)};
115 e.setTitle(tr(
"Logic Error"));
116 e.setDetails(tr(
"Cannot convert abstract data object to given type."));
Definition: edatastream.h:21
virtual qint64 dataEnd() const =0
virtual QAbstractTableModel * model()=0
virtual void finish()
Definition: eabstractdata.cpp:18
void allocate(qint64 size)
Definition: eabstractdata.cpp:142
const EMetadata & meta() const
Definition: eabstractdata.cpp:50
void setMeta(const EMetadata &newMeta)
Definition: eabstractdata.cpp:68
const T * cast() const
Definition: eabstractdata.h:78
Definition: eabstractdata.h:23
virtual void readData()=0
virtual void writeNewData()=0
const EDataStream & stream() const
Definition: eabstractdata.cpp:85
const EMetadata & systemMeta() const
Definition: eabstractdata.cpp:33
void seek(qint64 index) const
Definition: eabstractdata.cpp:121