refactor: ProtocolTypes EDataTransfer => struct ProtocolTypes::ChunkType
This commit is contained in:
parent
bc9f47c957
commit
d71d4eaf07
3 changed files with 19 additions and 20 deletions
|
|
@ -28,7 +28,7 @@ ClipboardChunk *ClipboardChunk::start(ClipboardID id, uint32_t sequence, const s
|
||||||
|
|
||||||
chunk[0] = id;
|
chunk[0] = id;
|
||||||
std::memcpy(&chunk[1], &sequence, 4);
|
std::memcpy(&chunk[1], &sequence, 4);
|
||||||
chunk[5] = kDataStart;
|
chunk[5] = ChunkType::DataStart;
|
||||||
memcpy(&chunk[6], size.c_str(), sizeLength);
|
memcpy(&chunk[6], size.c_str(), sizeLength);
|
||||||
chunk[sizeLength + s_clipboardChunkMetaSize - 1] = '\0';
|
chunk[sizeLength + s_clipboardChunkMetaSize - 1] = '\0';
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ ClipboardChunk *ClipboardChunk::data(ClipboardID id, uint32_t sequence, const st
|
||||||
|
|
||||||
chunkData[0] = id;
|
chunkData[0] = id;
|
||||||
std::memcpy(&chunkData[1], &sequence, 4);
|
std::memcpy(&chunkData[1], &sequence, 4);
|
||||||
chunkData[5] = kDataChunk;
|
chunkData[5] = ChunkType::DataChunk;
|
||||||
memcpy(&chunkData[6], data.c_str(), dataSize);
|
memcpy(&chunkData[6], data.c_str(), dataSize);
|
||||||
chunkData[dataSize + s_clipboardChunkMetaSize - 1] = '\0';
|
chunkData[dataSize + s_clipboardChunkMetaSize - 1] = '\0';
|
||||||
|
|
||||||
|
|
@ -57,9 +57,8 @@ ClipboardChunk *ClipboardChunk::end(ClipboardID id, uint32_t sequence)
|
||||||
|
|
||||||
chunk[0] = id;
|
chunk[0] = id;
|
||||||
std::memcpy(&chunk[1], &sequence, 4);
|
std::memcpy(&chunk[1], &sequence, 4);
|
||||||
chunk[5] = kDataEnd;
|
chunk[5] = ChunkType::DataEnd;
|
||||||
chunk[s_clipboardChunkMetaSize - 1] = '\0';
|
chunk[s_clipboardChunkMetaSize - 1] = '\0';
|
||||||
|
|
||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -74,15 +73,15 @@ ClipboardChunk::assemble(deskflow::IStream *stream, std::string &dataCached, Cli
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mark == kDataStart) {
|
if (mark == ChunkType::DataStart) {
|
||||||
s_expectedSize = deskflow::string::stringToSizeType(data);
|
s_expectedSize = deskflow::string::stringToSizeType(data);
|
||||||
LOG((CLOG_DEBUG "start receiving clipboard data"));
|
LOG((CLOG_DEBUG "start receiving clipboard data"));
|
||||||
dataCached.clear();
|
dataCached.clear();
|
||||||
return Started;
|
return Started;
|
||||||
} else if (mark == kDataChunk) {
|
} else if (mark == ChunkType::DataChunk) {
|
||||||
dataCached.append(data);
|
dataCached.append(data);
|
||||||
return InProgress;
|
return TransferState::InProgress;
|
||||||
} else if (mark == kDataEnd) {
|
} else if (mark == ChunkType::DataEnd) {
|
||||||
// validate
|
// validate
|
||||||
if (id >= kClipboardEnd) {
|
if (id >= kClipboardEnd) {
|
||||||
return Error;
|
return Error;
|
||||||
|
|
@ -111,15 +110,15 @@ void ClipboardChunk::send(deskflow::IStream *stream, void *data)
|
||||||
std::string dataChunk(&chunk[6], clipboardData->m_dataSize);
|
std::string dataChunk(&chunk[6], clipboardData->m_dataSize);
|
||||||
|
|
||||||
switch (mark) {
|
switch (mark) {
|
||||||
case kDataStart:
|
case ChunkType::DataStart:
|
||||||
LOG((CLOG_DEBUG2 "sending clipboard chunk start: size=%s", dataChunk.c_str()));
|
LOG((CLOG_DEBUG2 "sending clipboard chunk start: size=%s", dataChunk.c_str()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kDataChunk:
|
case ChunkType::DataChunk:
|
||||||
LOG((CLOG_DEBUG2 "sending clipboard chunk data: size=%i", dataChunk.size()));
|
LOG((CLOG_DEBUG2 "sending clipboard chunk data: size=%i", dataChunk.size()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kDataEnd:
|
case ChunkType::DataEnd:
|
||||||
LOG((CLOG_DEBUG2 "sending clipboard finished"));
|
LOG((CLOG_DEBUG2 "sending clipboard finished"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -195,17 +195,17 @@ enum EDirectionMask
|
||||||
*
|
*
|
||||||
* @since Protocol version 1.5
|
* @since Protocol version 1.5
|
||||||
*/
|
*/
|
||||||
enum EDataTransfer
|
struct ChunkType
|
||||||
{
|
{
|
||||||
kDataStart = 1, ///< Start of transfer (contains file size)
|
inline static const auto DataStart = 1; ///< Start of transfer (contains file size)
|
||||||
kDataChunk = 2, ///< Data chunk (contains file content)
|
inline static const auto DataChunk = 2; ///< Data chunk (contains file content)
|
||||||
kDataEnd = 3 ///< End of transfer (transfer complete)
|
inline static const auto DataEnd = 3; ///< End of transfer (transfer complete)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Data reception status codes
|
* @brief Data reception state codes
|
||||||
*
|
*
|
||||||
* Used internally to track the status of data reception
|
* Used internally to track the state of data reception
|
||||||
* during clipboard operations.
|
* during clipboard operations.
|
||||||
*
|
*
|
||||||
* @since Protocol version 1.5
|
* @since Protocol version 1.5
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ void ClipboardChunksTests::startFormatData()
|
||||||
|
|
||||||
QCOMPARE(chunk->m_chunk[0], id);
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
QCOMPARE(temp_m_chunk, sequence);
|
QCOMPARE(temp_m_chunk, sequence);
|
||||||
QCOMPARE(chunk->m_chunk[5], kDataStart);
|
QCOMPARE(chunk->m_chunk[5], ChunkType::DataStart);
|
||||||
QCOMPARE(chunk->m_chunk[6], '1');
|
QCOMPARE(chunk->m_chunk[6], '1');
|
||||||
QCOMPARE(chunk->m_chunk[7], '0');
|
QCOMPARE(chunk->m_chunk[7], '0');
|
||||||
QCOMPARE(chunk->m_chunk[8], '\0');
|
QCOMPARE(chunk->m_chunk[8], '\0');
|
||||||
|
|
@ -37,7 +37,7 @@ void ClipboardChunksTests::formatDataChunk()
|
||||||
|
|
||||||
QCOMPARE(chunk->m_chunk[0], id);
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
||||||
QCOMPARE(chunk->m_chunk[5], kDataChunk);
|
QCOMPARE(chunk->m_chunk[5], ChunkType::DataChunk);
|
||||||
QCOMPARE(chunk->m_chunk[6], 'm');
|
QCOMPARE(chunk->m_chunk[6], 'm');
|
||||||
QCOMPARE(chunk->m_chunk[7], 'o');
|
QCOMPARE(chunk->m_chunk[7], 'o');
|
||||||
QCOMPARE(chunk->m_chunk[8], 'c');
|
QCOMPARE(chunk->m_chunk[8], 'c');
|
||||||
|
|
@ -60,7 +60,7 @@ void ClipboardChunksTests::endFormatData()
|
||||||
|
|
||||||
QCOMPARE(chunk->m_chunk[0], id);
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
||||||
QCOMPARE(chunk->m_chunk[5], kDataEnd);
|
QCOMPARE(chunk->m_chunk[5], ChunkType::DataEnd);
|
||||||
QCOMPARE(chunk->m_chunk[6], '\0');
|
QCOMPARE(chunk->m_chunk[6], '\0');
|
||||||
|
|
||||||
delete chunk;
|
delete chunk;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue