CCIMXDesktop
Loading...
Searching...
No Matches
ImageSinker.h
1
#ifndef IMAGESINKER_H
2
#define IMAGESINKER_H
3
#include "DataSinker.h"
4
#include <QImage>
5
#include <QObject>
6
#include <QSaveFile>
7
8
class
ImageSinker
:
public
DataSinker
{
9
public
:
10
explicit
ImageSinker
(
const
QString& baseSavePath);
11
~ImageSinker
()
override
;
12
13
QString provide_name()
override
;
14
void
consume_name(
const
QString& name)
override
;
15
qint64 id_generator()
override
;
16
QByteArray requestChunkForEncoding(quint64 offset, quint64 bytesForRead)
override
;
17
quint64 size()
override
;
18
bool
receiveEnd()
override
;
19
bool
consumeChunkBuffer(
const
QByteArray& chunk)
override
;
20
void
sendEnd()
override
;
21
void
initMemoryBuffer(
const
QByteArray& chunk)
override
;
22
QImage getImage()
const
;
// 获取解析后的图像
23
void
resetSelf()
override
;
24
25
private
:
26
QString baseSavePath_;
27
QString saveFilePath_;
28
QSaveFile saveFile_;
29
QByteArray buffer_;
// 用于累积图像数据
30
QImage image_;
31
qint64 fileSize_ = 0;
32
bool
isReceiving_ =
false
;
33
};
34
35
#endif
// IMAGESINKER_H
DataSinker
Definition
DataSinker.h:8
ImageSinker
Definition
ImageSinker.h:8
extern_app
CCommunicator
library
networking
ImageSinker.h
Generated by
1.9.8