/** * @RDE_HEADER@ * Interface zwischen WMS und ECC (Implementation) * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include "logger.h" #include #include namespace WarehouseManagement { class ExercisesHandler; class IWMS2ECC_Impl : public QObject, IWMS2ECC { Q_OBJECT public: explicit IWMS2ECC_Impl(const std::shared_ptr &exercisesHandler); // reimplemented functions RegisterReturnValue registerPlayer(int playerId, int equipNo, const PlayerAssignState &playerAssignState, const QString &alias, const QString &info, int exerciseId) override; IWMS2ECC::UnregisterReturnValue unregister(int equipNo, int exerciseId) override; PlayerInfo getPlayerInfo(int playerId, int exerciseId) override; IWMS2ECC::exerciseMap getExercises() const override; IWMS2ECC::Exercise getActualExercise() const override; // QMap QMap getEquipRequirements(int exerciseId) const override; QMap getAllPlayers(int exerciseId) const override; QMap getAllVehicles(int exerciseId) const override; int getPlayerId(int equipNo, int exerciseId) const override; int getEquipNo(int playerId, int exerciseId) const override; int getTypeClassId(int equipTypeId) const override; bool setEquipmentTypes(const IWMS2ECC::equipTypeMap &map); bool setEquipmentType(const IWMS2ECC::EquipmentType &et); IWMS2ECC::PlayerInfo convert(const ParticipantManagement::Participant &part, int exerciseId, const QMap &allParticipants = {}) const; static IWMS2ECC::Exercise convert(const ExerciseManagement::Exercise &ex); static ParticipantManagement::ParticipantAssignState convert(const IWMS2ECC::PlayerAssignState &state); Q_SIGNALS: void registrationReturnValue(int exerciseId, qint32 participantId, IWMS2ECC::RegisterReturnValue retValue); protected: QMap getAllParticipants(int exerciseId) const; QByteArray getSymbol(int symbolId, int exerciseId, const QColor &color, int role) const; // Convert enums (PlayerAssignState (Wms) & ParticipantAssignState (ExconPlayer) static IWMS2ECC::PlayerAssignState convert(const ParticipantManagement::ParticipantAssignState &state); ParticipantManagement::EquipmentType convert(const IWMS2ECC::EquipmentType &et); IWMS2ECC::EquipmentType convert(const ParticipantManagement::EquipmentType &et); IWMS2ECC::RegisterReturnValue convert(const ParticipantManagement::RegisterReturnValue retValue); static ParticipantManagement::WmsTypeClass convert(int specialType); static int convert(ParticipantManagement::TypeClass typeClass); static ParticipantManagement::TypeClass convertTypeClass(int typeClass); protected Q_SLOTS: void onRegistrationReturnValue(int exerciseId, qint32 participantId, ParticipantManagement::RegisterReturnValue retValue); private: const std::shared_ptr m_exercisesHandler; NGL::INGLLogger &m_logger; }; } // Namespace WarehouseManagement