do some expermiments
This commit is contained in:
parent
6fbde29cad
commit
603e6a20b6
@ -9,7 +9,7 @@ QT += serialport
|
||||
INCLUDEPATH += $${PWD}/plugins
|
||||
INCLUDEPATH += $${PWD}/include
|
||||
|
||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy -O
|
||||
|
||||
# default
|
||||
ARCH = PTU5
|
||||
@ -49,6 +49,8 @@ INTERFACE_DEFINITION = $${PWD}/src/ATBAPP/DeviceControllerInterface.h
|
||||
|
||||
DEFINES += DEVICECONTROLLERPLUGIN_LIBRARY
|
||||
|
||||
DEFINES += USE_DC_VMC_UNIFICATION
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any Qt feature that has been marked deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
@ -77,6 +79,7 @@ HEADERS += \
|
||||
src/ATBAPP/ATBMachineEvent.h \
|
||||
src/ATBAPP/ATBDeviceControllerPlugin.h \
|
||||
src/ATBAPP/Utils.h \
|
||||
src/ATBAPP/UnifiedDCVMCInterface.h \
|
||||
src/ATBAPP/support/DBusControllerInterface.h \
|
||||
src/ATBAPP/support/JSON.h \
|
||||
src/ATBAPP/support/PTUSystem.h
|
||||
|
@ -1045,12 +1045,12 @@ PLUGIN_STATE ATBDeviceControllerPlugin::getState()
|
||||
return this->pluginState;
|
||||
}
|
||||
|
||||
QString & ATBDeviceControllerPlugin::getLastError()
|
||||
QString ATBDeviceControllerPlugin::getLastError()
|
||||
{
|
||||
return this->errorCode;
|
||||
}
|
||||
|
||||
const QString & ATBDeviceControllerPlugin::getLastErrorDescription()
|
||||
QString ATBDeviceControllerPlugin::getLastErrorDescription()
|
||||
{
|
||||
return this->errorDescription;
|
||||
}
|
||||
@ -1061,7 +1061,7 @@ const QString & ATBDeviceControllerPlugin::getPluginInfo()
|
||||
}
|
||||
|
||||
|
||||
const QString ATBDeviceControllerPlugin::getString(nsDeviceControllerInterface::RESULT_STATE resultState)
|
||||
QString ATBDeviceControllerPlugin::getString(nsDeviceControllerInterface::RESULT_STATE resultState)
|
||||
{
|
||||
QString str;
|
||||
|
||||
|
@ -58,25 +58,25 @@ public:
|
||||
void requestAccount();
|
||||
|
||||
// mandantory ATBAPP plugin methods: ------------------------------------------
|
||||
nsDeviceControllerInterface::PLUGIN_STATE getState();
|
||||
QString & getLastError();
|
||||
const QString & getLastErrorDescription();
|
||||
nsDeviceControllerInterface::PLUGIN_STATE getState() override;
|
||||
QString getLastError() override;
|
||||
QString getLastErrorDescription() override;
|
||||
|
||||
const QString & getPluginInfo();
|
||||
virtual const QString & getPluginInfo() override;
|
||||
|
||||
// helpers e.g. for debug / log
|
||||
const QString getString(nsDeviceControllerInterface::RESULT_STATE resultState);;
|
||||
virtual QString getString(nsDeviceControllerInterface::RESULT_STATE resultState) override;
|
||||
|
||||
public slots:
|
||||
void onChangedProgramModeToSELL();
|
||||
void onChangedProgramModeToSERVICE();
|
||||
void onChangedProgramModeToIDLE();
|
||||
void onChangedProgramModeToOOO();
|
||||
virtual void onChangedProgramModeToSELL() override;
|
||||
virtual void onChangedProgramModeToSERVICE() override;
|
||||
virtual void onChangedProgramModeToIDLE() override;
|
||||
virtual void onChangedProgramModeToOOO() override;
|
||||
|
||||
void startPhysicalLayer();
|
||||
void stopPhysicalLayer();
|
||||
void reboot();
|
||||
void reset();
|
||||
void startPhysicalLayer() override;
|
||||
void stopPhysicalLayer() override;
|
||||
void reboot() override;
|
||||
void reset() override;
|
||||
|
||||
|
||||
|
||||
|
@ -7,22 +7,27 @@
|
||||
#include <QString>
|
||||
|
||||
#include "ATBAPPplugin.h"
|
||||
#include "UnifiedDCVMCInterface.h"
|
||||
|
||||
namespace nsDeviceControllerInterface {
|
||||
enum class PLUGIN_STATE : quint8;
|
||||
enum class RESULT_STATE : quint8;
|
||||
enum class CASH_STATE : quint8;
|
||||
enum class TICKET_VARIANT : quint8;
|
||||
using PLUGIN_STATE = UnifiedDCVMCInterface::PLUGIN_STATE;
|
||||
using RESULT_STATE = UnifiedDCVMCInterface::RESULT_STATE;
|
||||
using CASH_STATE = UnifiedDCVMCInterface::CASH_STATE;
|
||||
using TICKET_VARIANT = UnifiedDCVMCInterface::TICKET_VARIANT;
|
||||
}
|
||||
|
||||
|
||||
class DeviceControllerInterface : public QObject
|
||||
, public ATBAPPplugin
|
||||
class DeviceControllerInterface : public UnifiedDCVMCInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(ATBAPPplugin)
|
||||
Q_INTERFACES(UnifiedDCVMCInterface)
|
||||
|
||||
public:
|
||||
|
||||
virtual PLUGIN_STATE initPlugin(QObject *eventReceiver, QSettings const &settings) override {
|
||||
return initDCPlugin(eventReceiver, settings);
|
||||
}
|
||||
|
||||
virtual ~DeviceControllerInterface() {}
|
||||
|
||||
/**
|
||||
@ -31,8 +36,7 @@ public:
|
||||
* @param settings
|
||||
* @return
|
||||
*/
|
||||
virtual nsDeviceControllerInterface::PLUGIN_STATE initDCPlugin(QObject *eventReceiver,
|
||||
const QSettings & settings) = 0;
|
||||
virtual PLUGIN_STATE initDCPlugin(QObject *eventReceiver, const QSettings & settings) = 0;
|
||||
|
||||
// TASKS: Cash handling -------------------------------------------------------
|
||||
/**
|
||||
@ -60,140 +64,12 @@ public:
|
||||
|
||||
// TASKS: printing ------------------------------------------------------------
|
||||
virtual void requestPrintTicket(const QHash<QString, QVariant> & printingData) = 0;
|
||||
virtual void requestPrintTicket(nsDeviceControllerInterface::TICKET_VARIANT ticketVariant, const QHash<QString, QVariant> & printingData) = 0;
|
||||
virtual void requestPrintTicket(TICKET_VARIANT ticketVariant, const QHash<QString, QVariant> & printingData) = 0;
|
||||
virtual void requestPrintReceipt(const QHash<QString, QVariant> & printingData) = 0;
|
||||
virtual void requestPrintReceipt(const QString & printingString) = 0;
|
||||
|
||||
// mandantory ATBAPP plugin methods:
|
||||
virtual nsDeviceControllerInterface::PLUGIN_STATE getState() = 0;
|
||||
virtual const QString & getLastError() = 0;
|
||||
virtual const QString & getLastErrorDescription() = 0;
|
||||
|
||||
// return a plugin description in JSON or XML
|
||||
// -> ATBAPPplugin::getPluginInfo()
|
||||
|
||||
// helpers e.g. for debug / log
|
||||
virtual const QString getString(nsDeviceControllerInterface::RESULT_STATE resultState) = 0;
|
||||
|
||||
public slots:
|
||||
virtual void onChangedProgramModeToSELL() = 0;
|
||||
virtual void onChangedProgramModeToSERVICE() = 0;
|
||||
virtual void onChangedProgramModeToIDLE() = 0;
|
||||
virtual void onChangedProgramModeToOOO() = 0;
|
||||
|
||||
virtual void startPhysicalLayer() = 0;
|
||||
virtual void stopPhysicalLayer() = 0;
|
||||
virtual void reboot() = 0;
|
||||
virtual void reset() = 0;
|
||||
|
||||
|
||||
signals:
|
||||
void printTicketFinished(nsDeviceControllerInterface::RESULT_STATE resultState,
|
||||
const QString & errorCode,
|
||||
const QString & errorDescription);
|
||||
void printReceiptFinished(nsDeviceControllerInterface::RESULT_STATE resultState,
|
||||
const QString & errorCode,
|
||||
const QString & errorDescription);
|
||||
|
||||
/**
|
||||
* emitted on e.g. a coin input
|
||||
*/
|
||||
void cashInputEvent(nsDeviceControllerInterface::RESULT_STATE resultState,
|
||||
nsDeviceControllerInterface::CASH_STATE cashState,
|
||||
const QString & newCashValue,
|
||||
/* additional variables? */
|
||||
const QString & errorCode,
|
||||
const QString & errorDescription);
|
||||
|
||||
/**
|
||||
* emitted if cashInput has been stopped, e.g. in result to task requestStopCashInput():
|
||||
* -> shutter is blocked
|
||||
* -> no cash input is possible
|
||||
* -> coins are in cache
|
||||
*/
|
||||
void cashInputFinished(nsDeviceControllerInterface::RESULT_STATE resultState,
|
||||
const QString & newCashValue,
|
||||
/* additional variables? */
|
||||
const QString & errorCode,
|
||||
const QString & errorDescription);
|
||||
|
||||
|
||||
/**
|
||||
* emitted e.g. if service door is opened
|
||||
*/
|
||||
void requestModeSERVICE();
|
||||
|
||||
/**
|
||||
* emitted e.g. if doors are closed
|
||||
*/
|
||||
void requestModeIDLE();
|
||||
|
||||
/**
|
||||
* emitted e.g. on severe errors
|
||||
*/
|
||||
void requestModeOOO();
|
||||
|
||||
/**
|
||||
* emitted e.g. if service door is opened
|
||||
*/
|
||||
void requestAccountResponse(const QHash<QString, QVariant> & accountData);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* emitted on error
|
||||
* depending on errorCode:
|
||||
* -> interrupt selling process
|
||||
* -> machine can go to state OOO
|
||||
* -> send error event to ISMAS
|
||||
* -> ...
|
||||
*/
|
||||
void Error(
|
||||
/* additional variables? */
|
||||
const QString & errorCode,
|
||||
const QString & errorDescription);
|
||||
|
||||
};
|
||||
|
||||
|
||||
Q_DECLARE_INTERFACE(DeviceControllerInterface,
|
||||
"eu.atb.ptu.plugin.DeviceControllerInterface/1.0")
|
||||
|
||||
|
||||
namespace nsDeviceControllerInterface {
|
||||
|
||||
enum class PLUGIN_STATE : quint8 {
|
||||
NOT_INITIALIZED = 0,
|
||||
INITIALIZED = 1
|
||||
};
|
||||
|
||||
enum class RESULT_STATE : quint8 {
|
||||
SUCCESS = 1, // operation was successfull
|
||||
ERROR_BACKEND, // error from backend (e.g. backend replies with error)
|
||||
ERROR_TIMEOUT, // the operation timed out
|
||||
ERROR_PROCESS, // internal plugin error, should not occur (this is a bug in implementation)
|
||||
ERROR_RETRY, // retry operation
|
||||
INFO // informational (e.g. display a message, log something etc.)
|
||||
};
|
||||
|
||||
enum class CASH_STATE : quint8 {
|
||||
CACHE_EMPTY, // Cache still empty, default state
|
||||
CACHE_INPUT, // Coins are in Cache
|
||||
OVERPAYED,
|
||||
/* t.b.d. */
|
||||
};
|
||||
|
||||
|
||||
enum class TICKET_VARIANT : quint8 {
|
||||
PARKING_TICKET,
|
||||
RECEIPT,
|
||||
ERROR_RECEIPT,
|
||||
START_RECEIPT, // e.g. Szeged Start
|
||||
STOP_RECEIPT, // e.g. Szeged Stop
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // DEVICECONTROLLERINTERFACE_H
|
||||
|
Loading…
Reference in New Issue
Block a user