File: filesource.h

package info (click to toggle)
imageshack-uploader 2.2%2Bhg20100408.d802dea89428-5.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,608 kB
  • sloc: cpp: 5,539; ansic: 1,012; makefile: 26; sh: 5
file content (35 lines) | stat: -rw-r--r-- 774 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef FILESOURCE_H
#define FILESOURCE_H

#include <QIODevice>
#include <QFile>
#include <QByteArray>
#include <QPair>
#include <QSharedPointer>
#include <QVector>
#include "media.h"

// This class id QIODevice to read file from hard drive by 16kbyte parts

class FileSource : public QIODevice
{
    Q_OBJECT
public:
    FileSource(QSharedPointer<Media> media,
               QVector<QPair<QString,QString> > fields);
    bool atEnd () const;
    qint64 size () const;
    qint64 readData(char*, qint64);
    qint64 writeData ( const char * data, qint64 maxSize );
    qint64 bytesAvailable() const;
    bool isSequential() const;
    qint64 headerSize();

private:
    QByteArray header, footer;
    int curPos;
    QSharedPointer<QFile> data;

};

#endif // FILESOURCE_H