139 lines
3.8 KiB
C++
Executable File
139 lines
3.8 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Helper classes to retrieve attribute values
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*
|
|
* Created by Christian Ehrlicher, NLE, 2020-02-07
|
|
*/
|
|
#pragma once
|
|
|
|
#include <QMap>
|
|
#include <QString>
|
|
#include <memory>
|
|
|
|
namespace AudioVideoManagement
|
|
{
|
|
class StreamNameMapping;
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
namespace InfrastructureManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
namespace OperatorManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
namespace ParticipantManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
namespace ProjectDataManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
|
|
namespace Timeline
|
|
{
|
|
using AttributeValueMap = QMap<int, QString>;
|
|
using AtributeValueLookupMap = QMap<QString, AttributeValueMap>;
|
|
|
|
class AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
virtual ~AttributeValueLookupProvider() = default;
|
|
virtual AttributeValueMap getAttributeValueMap(int eventType) const = 0;
|
|
virtual QString getValueStringFromValueId(int attributeValueId) const = 0;
|
|
};
|
|
|
|
class AvmChargeType final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmChargeType(const std::shared_ptr<ProjectDataManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmGearType final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmGearType(const std::shared_ptr<ProjectDataManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmParty final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmParty(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmEquipmentNumber final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmEquipmentNumber(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmOperator final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmOperator(const std::shared_ptr<OperatorManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<OperatorManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmBuilding final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmBuilding(const std::shared_ptr<InfrastructureManagement::Interface::Dtc> &dtc) : m_dtc(dtc) {}
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_dtc;
|
|
};
|
|
|
|
class AvmStreamName final : public AttributeValueLookupProvider
|
|
{
|
|
public:
|
|
explicit AvmStreamName(const std::shared_ptr<AudioVideoManagement::Interface::Dtc> &dtc);
|
|
~AvmStreamName();
|
|
AttributeValueMap getAttributeValueMap(int eventType) const override;
|
|
QString getValueStringFromValueId(int attributeValueId) const override;
|
|
private:
|
|
std::shared_ptr<AudioVideoManagement::Interface::Dtc> m_dtc;
|
|
std::shared_ptr<AudioVideoManagement::StreamNameMapping> m_snm;
|
|
};
|
|
|
|
} // namespace Timeline
|