the MRCI protocol has been upgraded to support branch ids so running multiple instances of the same command can run at the same time at the host side. this client however will still continue to run host commands in FIFO but this is something that can be added in the near future. another change to the protocol is the version negotiation is now entirely one-sided so just the client can now decide of the host version is acceptable or not. the NEW_CMD frames from MRCI host will now include all of the command documentation so listing of all available commands and documentation is now entirely client controlled because the host no longer have built in documentation commands. this client's Session object now operate in it's own thread. for now, this does nothing but this is a prelude for future performance updates that will including multi-threading.
138 lines
2.5 KiB
C++
138 lines
2.5 KiB
C++
#ifndef EXEC_H
|
|
#define EXEC_H
|
|
|
|
// This file is part of Cmdr.
|
|
|
|
// Cmdr is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Cmdr is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Cmdr under the LICENSE.md file. If not, see
|
|
// <http://www.gnu.org/licenses/>.
|
|
|
|
#include <QTimer>
|
|
|
|
#include "bookmarks.h"
|
|
#include "command.h"
|
|
|
|
class Connect : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit Connect(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
//------------------------------------------
|
|
|
|
class Quit : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit Quit(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
//----------------------------------------
|
|
|
|
class EndSession : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit EndSession(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
//---------------------------------------
|
|
|
|
class Term : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit Term(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
//----------------------------------------
|
|
|
|
class Halt : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit Halt(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
//----------------------------------------
|
|
|
|
class Resume : public Command
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QString shortText();
|
|
QString ioText();
|
|
QString longText();
|
|
|
|
explicit Resume(QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
|
|
void dataIn(const QString &argsLine);
|
|
};
|
|
|
|
#endif // EXEC_H
|