27 void setFileList(
const QStringList &fileList) { _fileList = fileList; }
39 QByteArray
uploadedFileContents(
const QString& remotePath)
const {
return _uploadedFiles.value(remotePath); }
83 void _sendAck(uint8_t targetSystemId, uint8_t targetComponentId, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
85 void _sendNakErrno(uint8_t targetSystemId, uint8_t targetComponentId, uint8_t nakErrno, uint16_t seqNumber,
MavlinkFTP::OpCode_t reqOpCode);
87 void _sendResponse(uint8_t targetSystemId, uint8_t targetComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
90 void _listCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
91 void _openCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
92 void _createFileCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
93 void _openFileWOCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
94 void _readCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
95 void _burstReadCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
96 void _terminateCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
97 void _resetCommand(uint8_t senderSystemId, uint8_t senderComponentId, uint16_t seqNumber);
98 void _writeCommand(uint8_t senderSystemId, uint8_t senderComponentId, MavlinkFTP::Request *request, uint16_t seqNumber);
99 void _finalizeActiveUpload();
102 uint16_t _nextSeqNumber(uint16_t seqNumber)
const;
103 static QString _createTestTempFile(
int size);
106 static void ensureNullTemination(MavlinkFTP::Request *request);
108 const uint8_t _systemIdServer;
109 const uint8_t _componentIdServer;
112 bool _BinParamFileEnabled =
false;
113 bool _lastReplyValid =
false;
114 bool _randomDropsEnabled =
false;
118 struct UploadSession {
129 UploadSession _uploadSession;
130 QHash<QString, QByteArray> _uploadedFiles;
131 QStringList _fileList;
132 uint16_t _lastReplySequence = 0;
134 static constexpr uint8_t _sessionId = 1;