25 void setFileList(
const QStringList &fileList) { _fileList = fileList; }
36 QByteArray
uploadedFileContents(
const QString& remotePath)
const {
return _uploadedFiles.value(remotePath); }
80 void _sendAck(uint8_t targetSystemId, uint8_t targetComponentId, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
82 void _sendNakErrno(uint8_t targetSystemId, uint8_t targetComponentId, uint8_t nakErrno, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
84 void _sendResponse(uint8_t targetSystemId, uint8_t targetComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
87 void _listCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
88 void _openCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
89 void _createFileCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
90 void _openFileWOCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
91 void _readCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
92 void _burstReadCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
93 void _terminateCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
94 void _resetCommand(uint8_t senderSystemId, uint8_t senderComponentId, uint16_t seqNumber);
95 void _writeCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
96 void _finalizeActiveUpload();
99 uint16_t _nextSeqNumber(uint16_t seqNumber)
const;
100 static QString _createTestTempFile(
int size);
101 QString _generateParamPck(
bool withDefaults);
104 static void ensureNullTemination(MavlinkFTP::Request *request);
106 const uint8_t _systemIdServer;
107 const uint8_t _componentIdServer;
110 bool _lastReplyValid =
false;
111 bool _randomDropsEnabled =
false;
115 QString _paramPckTempFile;
116 struct UploadSession {
127 UploadSession _uploadSession;
128 QHash<QString, QByteArray> _uploadedFiles;
129 QStringList _fileList;
130 uint16_t _lastReplySequence = 0;
132 static constexpr uint8_t _sessionId = 1;