Cmdr/src/cmd_objs/exec.h
Maurice ONeal 51c2e63a24 Major upgrade and changes
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.
2019-11-23 14:37:41 -05:00

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