CCIMXDesktop
 
Loading...
Searching...
No Matches
FileSinker.h
1#pragma once
2#include "DataHeader.h"
3#include "DataSinker.h"
4#include <QDebug>
5#include <QDir>
6#include <QFile>
7#include <QFileInfo>
8#include <QSaveFile>
9#include <QString>
10
11class FileSinker : public DataSinker {
12public:
13 explicit FileSinker(const QString& filePath, int chunkSize = 4096);
14 void setFilePath(const QString& filePath);
15 QString filePathSave() const { return filePath_; }
16 QString provide_name() override;
17 quint64 size() override;
18 qint64 id_generator() override;
19 bool receiveEnd() override;
20 void consume_name(const QString& name) override;
21 bool consumeChunkBuffer(const QByteArray& chunk) override;
22 void initMemoryBuffer(const QByteArray& chunk) override { }
23 QByteArray requestChunkForEncoding(
24 quint64 offset, quint64 bytesForRead) override;
25 void sendEnd() override;
26 void resetSelf() override;
27
28private:
29 int send_offset_;
30 QString filePath_;
31 int chunkSize_;
32 QFile file_;
33 QScopedPointer<QSaveFile> saveFile_;
34};
Definition DataSinker.h:8
Definition FileSinker.h:11