/** * Handler for all Language HMI objects * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-03 */ #pragma once #include "handler_base.h" #include namespace AreaEffectSimulation { class ObjectChargeAdministration; class HandlerChargeAdministration : public HandlerBase , protected Interface::Fts::ChargeAdministrationModifyRequestHandler { Q_OBJECT public: explicit HandlerChargeAdministration(MainHandler *mainHandler); bool init(); int totalAreas() const override { return -1; } int totalAreasCentral() const override { return -1; } void recountActiveAreas() override {} Core::FunctionReplyObject claimPlannedCharge(int chargeTypeId, int partyId, int count); Core::FunctionReplyObject consumeCharge(int chargeTypeId, int partyId, int count, bool wasPlanned = true); int availableCharge(int chargeTypeId, int partyId) const; private: void onChargeAdministrationModifyRequest(const rti::core::SampleIdentity &cookie, const ChargeAdministrationModifyRequest &request) override; Core::FunctionReplyObject chargeAdministrationCreateRequest(const ChargeAdministrationModifyRequest &request); Core::FunctionReplyObject chargeAdministrationModifyRequest(const ChargeAdministrationModifyRequest &request); int getObjectChargeAdministrationId(int partyId, int chargeTypeId, ProjectDataManagement::EffectSource effectSourceId); private: QMap m_chargeAdminObjMap; // Key = ChargeAdministrationId }; } // namespace AreaEffectSimulation