ITS
AppDenmTriggerData.h
Go to the documentation of this file.
1 
7 #ifndef APPDENMTRIGGERDATA_H
8 #define APPDENMTRIGGERDATA_H
9 
10 #include <QByteArray>
11 
12 #include <ReferencePositionData.h>
13 #include <DestinationAreaData.h>
14 #include <TrafficClassData.h>
15 #include <LifeTimeData.h>
16 
17 #include <ParameterDENM.h>
18 
19 #include <DENM.h>
20 
21 #define MSG_LENGTH 65535
22 
24 {
25 public:
35  AppDenmTriggerData(QByteArray datagram);
42 
47  {
58 
59  /* Getters */
64  quint64 eventDetectionTime() const{return m_eventDetectionTime;}
74  quint32* validityDuration() const{return m_validityDuration;}
79  quint32* repetitionDuration() const{return m_repetitionDuration;}
84  quint16* transmissionInterval() const{return m_transmissionInterval;}
89  quint16* repetitionInterval() const{return m_repetitionInterval;}
94  QByteArray *situation() const{return m_situation;}
99  QByteArray *location() const{return m_location;}
104  QByteArray *alacarte() const{return m_alacarte;}
109  quint8* relevanceDistance() const{return m_relevanceDistance;}
129  LifeTimeData* lifeTime() const{return m_lifeTime;}
134  quint8* maximumHopLimit() const{return m_maximumHopLimit;}
135 
136  /* Setters */
151  void setValidityDuration(quint32 v){if(!m_validityDuration)m_validityDuration = (quint32*)calloc(1, sizeof *m_validityDuration); *m_validityDuration = v;}
171  void setSituation(QByteArray s){m_situation = new QByteArray(s);}
176  void setLocation(QByteArray l){m_location = new QByteArray(l);}
181  void setAlacarte(QByteArray a){m_alacarte = new QByteArray(a);}
202 
203  /* API */
208  QByteArray toBin();
213  quint16 getOptions();
218  QString toString();
219 
220 private:
227  QByteArray *m_situation;
228  QByteArray *m_location;
229  QByteArray *m_alacarte;
246 };
247 
248 #endif // APPDENMTRIGGERDATA_H
DestinationAreaData destinationArea() const
destinationArea Destination area getter.
QByteArray toBin()
toBin Encode the AppDenmTrigger in a byte array.
DENM configuration initializer.
void setTransmissionInterval(quint16 t)
setTransmissionInterval Transmission interval setter.
quint8 * maximumHopLimit() const
maximumHopLimit Maximum hop limit getter.
quint64 eventDetectionTime() const
eventDetectionTime Detection time getter.
quint8 * relevanceTrafficDirection() const
relevanceTrafficDirection Relevance traffic direction getter.
TrafficClassData trafficClass() const
trafficClass Traffic class getter.
Destination area serialize.
ActionID_t m_roadWorksReferenceDenms[8]
quint16 * transmissionInterval() const
transmissionInterval Transmission interval getter.
ReferencePositionData eventPosition() const
eventPosition Event position getter.
ReferencePositionData m_eventPosition
void setRepetitionDuration(quint32 r)
setRepetitionDuration Repetition duration setter.
TrafficClassData m_trafficClass
ReferencePosition_t m_roadWorksRecommendedPath[40]
void setRepetitionInterval(quint16 r)
setRepetitionInterval Repetition interval setter.
quint8 * m_relevanceTrafficDirection
TrafficClass serializer.
QByteArray * location() const
location Location container getter.
DestinationAreaData m_destinationArea
ReferencePosition serializer.
LifeTimeData * lifeTime() const
lifeTime Life time getter.
long StationType_t
Definition: StationType.h:38
LifeTimeData * m_lifeTime
PathHistory_t m_locationTraces[7]
quint16 * m_transmissionInterval
void setLocation(QByteArray l)
setLocation Location container setter.
quint32 * validityDuration() const
validityDuration Validity duration getter.
EventPoint_t m_situationEventHistory[23]
void setTrafficClass(TrafficClassData t)
setTrafficClass Traffic class setter.
Life time serializer.
StationType_t m_roadWorksRestriction[3]
long PosPillar_t
Definition: PosPillar.h:27
AppDenmTriggerData_enum
The e_AppDenmTriggerData enum defines the options bits position.
enum AppDenmTriggerData::AppDenmTriggerData_enum e_AppDenmTriggerData
The e_AppDenmTriggerData enum defines the options bits position.
QString toString()
toString Encode the AppDenmTrigger in a human readable.
ParameterDENM * m_paramDENM
void setValidityDuration(quint32 v)
setValidityDuration Validity duration setter.
QByteArray * alacarte() const
alacarte Alacarte container getter.
Definition: DENM.h:23
PosPillar_t m_impactReductionPositionOfPillars[3]
AppDenmTriggerData(ParameterDENM *paramDENM)
AppDenmTriggerData AppDenmTriggerData constructor.
quint16 getOptions()
getOptions Generate the bytes option.
quint8 * relevanceDistance() const
relevanceDistance Relevance distance getter.
QByteArray * situation() const
situation Situation container getter.
void setAlacarte(QByteArray a)
setAlacarte Alacarte container setter.
quint16 * repetitionInterval() const
repetitionInterval Repetition interval getter.
PathPoint_t m_locationTracesPathHistory[7][40]
void setRelevanceTrafficDirection(quint8 r)
setRelevanceTrafficDirection Relevance traffic direction setter.
void setDestinationArea(DestinationAreaData d)
setDestinationArea Destination area setter.
void setEventDetectionTime(quint64 e)
setEventDetectionTime Detection time setter.
quint32 * repetitionDuration() const
repetitionDuration Repetition duration getter.
void setEventPosition(ReferencePositionData e)
setEventPosition Event position setter.
void setSituation(QByteArray s)
setSituation Situation container setter.
void setRelevanceDistance(quint8 r)
setRelevanceDistance Relevance distance setter.