MockRemoteProcess.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright (C) 2023 KeePassXC Team <team@keepassxc.org>
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 2 or (at your option)
  7. * version 3 of the License.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #ifndef KEEPASSXC_MOCKREMOTEPROCESS_H
  18. #define KEEPASSXC_MOCKREMOTEPROCESS_H
  19. #include "gui/remote/RemoteProcess.h"
  20. class MockRemoteProcess : public RemoteProcess
  21. {
  22. public:
  23. explicit MockRemoteProcess(QObject* parent, const QString& dbPath);
  24. ~MockRemoteProcess() override = default;
  25. void start(const QString& program) override;
  26. qint64 write(const QString& data) override;
  27. bool waitForBytesWritten() override;
  28. void closeWriteChannel() override;
  29. bool waitForFinished(int msecs) override;
  30. [[nodiscard]] int exitCode() const override;
  31. private:
  32. QByteArray m_data;
  33. QString m_dbPath;
  34. };
  35. #endif // KEEPASSXC_MOCKREMOTEPROCESS_H