25 void setFileList(
const QStringList &fileList) { _fileList = fileList; }
36 QByteArray
uploadedFileContents(
const QString& remotePath)
const {
return _uploadedFiles.value(remotePath); }
88 void _sendAck(uint8_t targetSystemId, uint8_t targetComponentId, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
90 void _sendNakErrno(uint8_t targetSystemId, uint8_t targetComponentId, uint8_t nakErrno, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
92 void _sendResponse(uint8_t targetSystemId, uint8_t targetComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
95 void _listCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber,
bool withTime);
96 void _openCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
97 void _createFileCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
98 void _openFileWOCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
99 void _readCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
100 void _burstReadCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
101 void _terminateCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
102 void _resetCommand(uint8_t senderSystemId, uint8_t senderComponentId, uint16_t seqNumber);
103 void _writeCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
104 void _finalizeActiveUpload();
107 uint16_t _nextSeqNumber(uint16_t seqNumber)
const;
108 static QString _createTestTempFile(
int size);
109 QString _generateParamPck(
bool withDefaults);
112 static void ensureNullTemination(MavlinkFTP::Request *request);
114 const uint8_t _systemIdServer;
115 const uint8_t _componentIdServer;
118 bool _lastReplyValid =
false;
119 bool _randomDropsEnabled =
false;
121 bool _listDirectoryWithTimeSupported =
true;
124 QString _paramPckTempFile;
125 struct UploadSession {
136 UploadSession _uploadSession;
137 QHash<QString, QByteArray> _uploadedFiles;
138 QStringList _fileList;
139 uint16_t _lastReplySequence = 0;
141 static constexpr uint8_t _sessionId = 1;