ITS
denReceptionManagement.h
Go to the documentation of this file.
1 
7 #ifndef denReceptionManagement_H
8 #define denReceptionManagement_H
9 
10 #include <QObject>
11 #include <QUdpSocket>
12 #include <constantes.h>
13 #include <api.h>
14 #include <UpperTesterPrimitives.h>
15 #include <ParameterDENM.h>
16 #include <QNetworkDatagram>
17 #include <QMutex>
18 
19 #include <DENM.h>
20 
21 #include <AppDenmTriggerData.h>
22 #include <AppDenmIndication.h>
24 
25 #include <denMessageTableSource.h>
27 
28 #include <apiDenBasicService.h>
29 #include <Geonet.h>
30 
31 class denReceptionManagement : public QObject
32 {
33  Q_OBJECT
34 public:
51 
56  void decodeDenm(QByteArray data);
60  void denmReception(DENM_t*);
66  void AppDENM_negation(AppDenmTerminationData termination, ActionID_t actionID);
81  bool PassDenmToNetworkAndTransportLayerTrigger(AppDenmTriggerData data, char *msg, int denmLength);
89  void AppDENM_result(ActionID_t actionID, bool success, AppDenmResultData::e_failureNotification failureNotification, DENM_t *denm);
90 
96 
101  void discardDENM(int index);
105  void killReceptionThreads();
106 
107 signals:
111  void setSequenceNumberSignal(quint16);
119  void appDenmResult(QByteArray);
123  void kaf(DENM_t *);
124 
125 public slots:
129  void utInitialize();
130  //void execute();
134  void setSequenceNumberSlot(quint16);
142  void readDatagram();
143 
144 private:
145 // void denmEventIndication(uchar* packet, quint16 packetLen);
146  QVector<denMessageTableReception*> m_receivedDENM;
158  QUdpSocket* denm2app;
159  QUdpSocket* m_internalSocket;
160  quint16 appPort;
161 };
162 
163 #endif // denReceptionManagement_H
DENM configuration initializer.
void setSequenceNumberSlot(quint16)
setSequenceNumberSlot Slot used when a new sequenceNumber is made.
AppDenmIndication definition.
Usefull functions and declarations.
void discardDENM(int index)
discardDENM Discard DENM from DEN Message Table Reception.
void AppDENM_negation(AppDenmTerminationData termination, ActionID_t actionID)
AppDENM_negation Negation of a DENM.
void utInitialize()
utInitialize Slot used to initialize the DEN Reception Management.
long SequenceNumber_t
void appendTriggeredDenm(denMessageTableSource *)
appendTriggeredDenm Signal used when a DENM is appended to the set DEN Message Table Source...
FakeApplicationProvider * m_paramAppli
ParameterConfiguration * m_paramConf
N&T layer.
AppDenmTrigger definition.
Primitives message types definition.
denReceptionManagement(FakeGPSProvider *gps, FakeApplicationProvider *appli, ParameterDENM *denm, GeoNet *gn, ParameterConfiguration *conf, FakeCANProvider *can, ParameterNetwork *network)
denReceptionManagement denReceptionManagement constructor.
enum AppDenmResultData::failureNotification_enum e_failureNotification
The e_failureNotification enum defines the success or failure code.
DEN Message Table Reception.
Constantes used everywhere.
void discardDENMFromReceivedTable(ActionID_t)
discardDENMFromReceivedTable Slot used when a DENM is discarded from Received Table.
AppDenmTerminationIndication definition.
void killReceptionThreads()
killReceptionThreads Kills active threads.
Definition: DENM.h:23
void setSequenceNumberSignal(quint16)
setSequenceNumberSignal Signal used when a new sequenceNumber is set.
void kaf(DENM_t *)
kaf Signal used to invoke KAF.
bool PassDenmToNetworkAndTransportLayerTrigger(AppDenmTriggerData data, char *msg, int denmLength)
PassDenmToNetworkAndTransportLayerTrigger Pass the response DENM to the N&T layer.
void denmReception(DENM_t *)
denmReception Reception of a DENM.
void decodeDenm(QByteArray data)
decodeDenm Decode DENM.
DEN Message Table Source.
API used by the DEN Basic Service.
void AppDENM_result(ActionID_t actionID, bool success, AppDenmResultData::e_failureNotification failureNotification, DENM_t *denm)
AppDENM_result Notification to the Application layer of the success of DENM sent. ...
void readDatagram()
readDatagram Slot used to receive DENM.
Definition: Geonet.h:42
QVector< denMessageTableReception * > m_receivedDENM
void sendRequestResponseIndication_Response(SituationContainer_t *s, ActionID_t originatingActionID)
sendRequestResponseIndication_Response Sends a RequestResponIndication DENM of type Response when a D...
void setSequenceNumber(SequenceNumber_t s)
setSequenceNumber Set the local sequenceNumber
void appDenmResult(QByteArray)
appDenmResult Signal used when notification is made to the Application layer.