46 lines
1.3 KiB
C++
Executable File
46 lines
1.3 KiB
C++
Executable File
/**
|
|
* The Participant class is the base class for either Buildings or ExerciseParticipants.
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hannes Baeuerle, SLSE, 2016-05-23
|
|
*/
|
|
#pragma once
|
|
|
|
#include "participant.h"
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
class MainHandler;
|
|
|
|
namespace ParticipantHandling
|
|
{
|
|
class ParticipantHandler;
|
|
class UnitPositionCalculator;
|
|
|
|
class ParticipantForExercise final : public Participant
|
|
{
|
|
public:
|
|
ParticipantForExercise(MainHandler *mainHandler,
|
|
ParticipantHandler *particpantHandler,
|
|
UnitPositionCalculator *unitPosCalculator,
|
|
const Database::PpmParticipant &data);
|
|
~ParticipantForExercise();
|
|
|
|
bool publishParticipant() override;
|
|
void removeFromDds() override;
|
|
|
|
bool registerFromFt(const RegisterParticipantRequest &request);
|
|
void registerInfoFromFt(const RegisterParticipantRequest &request);
|
|
private:
|
|
bool applyEquipmentExerciseMapping(int newEqId);
|
|
void removeEquipmentExerciseMapping(int oldEqId, bool bIsShutdown);
|
|
bool updateEquipmentExerciseMapping(int oldEqId, int newEqId) override;
|
|
private:
|
|
Database::EquipmentExerciseMapping m_equipmentExerciseMappingPublished;
|
|
ParticipantManagement::MainHandler *m_mainHandler;
|
|
|
|
}; // class Participant
|
|
} // namespace ParticipantManagement
|
|
} // namespace ParticipantHandling
|