ITS
ParameterApplication.cpp
Go to the documentation of this file.
1 #include "ParameterApplication.h"
2 
4 {
5  read();
6  //readDebug();
7 }
8 
10 {
11  mutex->lock();
12  read();
13  //readDebug();
14  mutex->unlock();
15 }
16 
18 {
19 }
20 
22 {
23  cfg_opt_t causeCode_opts[] =
24  {
25  CFG_INT("causeCodeType", NULL, CFGF_IGNORE_UNKNOWN),
26 
27  CFG_INT("subCauseCodeType", NULL, CFGF_IGNORE_UNKNOWN),
28 
29  CFG_END()
30  };
31 
32  cfg_opt_t closedLanes_opts[] =
33  {
34  CFG_BOOL_LIST("drivingLaneStatus", NULL, CFGF_NONE),
35 
36  CFG_INT("hardShoulderStatus", -1, CFGF_IGNORE_UNKNOWN),
37 
38  CFG_END()
39  };
40 
41  cfg_opt_t dangerousGoodExtended_opt[] =
42  {
43  CFG_INT_LIST("companyName", NULL, CFGF_IGNORE_UNKNOWN),
44 
45  CFG_INT("dangerousGoodsType", -1, CFGF_NONE),
46 
47  CFG_BOOL("elevatedTemperature", cfg_false, CFGF_NONE),
48 
49  CFG_INT_LIST("emergencyActionCode", NULL, CFGF_IGNORE_UNKNOWN),
50 
51  CFG_BOOL("limitedQuantity", cfg_false, CFGF_NONE),
52 
53  CFG_INT_LIST("phoneNumber", NULL, CFGF_IGNORE_UNKNOWN),
54 
55  CFG_BOOL("tunnelsRestricted", cfg_false, CFGF_NONE),
56 
57  CFG_INT("unNumber", -1, CFGF_NONE),
58 
59  CFG_END()
60  };
61 
62  cfg_opt_t ptActivation_opts[] =
63  {
64  CFG_INT_LIST("ptActivationData", NULL, CFGF_NONE),
65 
66  CFG_INT("ptActivationType", NULL, CFGF_NONE),
67 
68  CFG_END()
69  };
70 
71  cfg_opt_t vehicleIdentification_opt[] =
72  {
73  CFG_INT_LIST("vDS", NULL, CFGF_IGNORE_UNKNOWN),
74 
75  CFG_INT_LIST("wMInumber", NULL, CFGF_IGNORE_UNKNOWN),
76 
77  CFG_END()
78  };
79 
80  cfg_opt_t opts[] =
81  {
82  CFG_SEC("causeCodeEmergency", causeCode_opts, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
83 
84  CFG_SEC("causeCodeSafety", causeCode_opts, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
85 
86  CFG_SEC("causeCodeStationary", causeCode_opts, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
87 
88  CFG_SEC("closedLanes", closedLanes_opts, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
89 
90  CFG_INT("dangerousGoodsBasic", DangerousGoodsBasic_miscellaneousDangerousSubstances, CFGF_NONE),
91 
92  CFG_SEC("dangerousGoodsExtended", dangerousGoodExtended_opt, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
93 
94  CFG_BOOL("embarkationStatus", cfg_false, CFGF_NONE),
95 
96  CFG_BOOL_LIST("emergencyPriority", "", CFGF_NODEFAULT | CFGF_IGNORE_UNKNOWN),
97 
98  CFG_BOOL("itsGnIsMobile", cfg_false, CFGF_NONE),
99 
100  CFG_SEC("ptActivation", ptActivation_opts, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
101 
102  CFG_INT("roadworksSubCauseCode", -1, CFGF_IGNORE_UNKNOWN),
103 
104  CFG_INT("speedLimit", -1, CFGF_IGNORE_UNKNOWN),
105 
106  CFG_BOOL_LIST("specialTransportType", "", CFGF_NODEFAULT | CFGF_IGNORE_UNKNOWN),
107 
108  CFG_INT("stationarySince", -1, CFGF_NODEFAULT | CFGF_IGNORE_UNKNOWN),
109 
110  CFG_INT("stationID", 0, CFGF_NONE),
111 
112  CFG_INT("stationType", StationType_unknown, CFGF_NONE),
113 
114  CFG_INT("trafficRule", -1, CFGF_IGNORE_UNKNOWN),
115 
116  CFG_SEC("vehicleIdentification", vehicleIdentification_opt, CFGF_MULTI | CFGF_IGNORE_UNKNOWN),
117 
118  CFG_INT("vehicleRole", VehicleRole_default, CFGF_NONE),
119 
120  CFG_END()
121  };
122 
123  cfg_t *cfg;
124  cfg_t *cfg_closedLanes;
125  cfg_t *cfg_causeCodeEmergency;
126  cfg_t *cfg_causeCodeSafety;
127  cfg_t *cfg_causeCodeStationary;
128  cfg_t *cfg_dangerousGoodExtended;
129  cfg_t *cfg_ptActivation;
130  cfg_t *cfg_vehicleIdentification;
131 
132  cfg = cfg_init(opts, CFGF_NONE);
133 
134 
135 // cfg_set_validate_func(cfg_causeCodeEmergency, "causeCodeType", validate_unsigned_int);
136 // cfg_set_validate_func(cfg_causeCodeEmergency, "subCauseCodeType", validate_unsigned_int);
137 
138  // cfg_set_validate_func(cfg_causeCodeSafety, "causeCodeType", validate_unsigned_int);
139  // cfg_set_validate_func(cfg_causeCodeSafety, "subCauseCodeType", validate_unsigned_int);
140 
141  // cfg_set_validate_func(cfg_causeCodeStationary, "causeCodeType", validate_unsigned_int);
142  // cfg_set_validate_func(cfg_causeCodeStationary, "subCauseCodeType", validate_unsigned_int);
143 
144 // cfg_set_validate_func(cfg_closedLanes, "hardShoulderStatus", validate_unsigned_int);
145 
146  cfg_set_validate_func(cfg, "dangerousGoodsBasic", validate_unsigned_int);
147 
148 // cfg_set_validate_func(cfg_dangerousGoodExtended, "companyName", validate_unsigned_int);
149 // cfg_set_validate_func(cfg_dangerousGoodExtended, "dangerousGoodsType", validate_unsigned_int);
150 // cfg_set_validate_func(cfg_dangerousGoodExtended, "emergencyActionCode", validate_unsigned_int);
151 // cfg_set_validate_func(cfg_dangerousGoodExtended, "emergencyActionCode", validate_unsigned_int);
152 // cfg_set_validate_func(cfg_dangerousGoodExtended, "phoneNumber", validate_unsigned_int);
153 // cfg_set_validate_func(cfg_dangerousGoodExtended, "unNumber", validate_unsigned_int);
154 
155 // cfg_set_validate_func(cfg_ptActivation, "ptActivationData", validate_unsigned_int);
156 // cfg_set_validate_func(cfg_ptActivation, "ptActivationType", validate_unsigned_int);
157 
158  cfg_set_validate_func(cfg, "roadworksSubCauseCode", validate_unsigned_int);
159 
160  cfg_set_validate_func(cfg, "speedLimit", validate_unsigned_int);
161 
162  cfg_set_validate_func(cfg, "stationarySince", validate_unsigned_int);
163 
164  cfg_set_validate_func(cfg, "stationID", validate_unsigned_int);
165 
166  cfg_set_validate_func(cfg, "stationType", validate_unsigned_int);
167 
168  cfg_set_validate_func(cfg, "trafficRule", validate_unsigned_int);
169 
170 // cfg_set_validate_func(cfg_vehicleIdentification, "vDS", validate_unsigned_int);
171 // cfg_set_validate_func(cfg_vehicleIdentification, "wMInumber", validate_unsigned_int);
172 
173  cfg_set_validate_func(cfg, "vehicleRole", validate_unsigned_int);
174 
175  cfg_add_searchpath(cfg, "/etc/its/config");
176  if(cfg_parse(cfg, "appli.conf") == CFG_PARSE_ERROR)
177  printf("PARSE_ERROR\n");
178 
179  cfg_closedLanes = cfg_getsec(cfg, "closedLanes");
180 
181  cfg_dangerousGoodExtended = cfg_getsec(cfg, "dangerousGoodsExtended");
182 
183  cfg_ptActivation = cfg_getsec(cfg, "ptActivation");
184 
185  cfg_causeCodeEmergency = cfg_getsec(cfg, "causeCodeEmergency");
186 
187  cfg_causeCodeSafety = cfg_getsec(cfg, "causeCodeSafety");
188 
189  cfg_causeCodeStationary = cfg_getsec(cfg, "causeCodeStationary");
190 
191  cfg_vehicleIdentification = cfg_getsec(cfg, "vehicleIdentification");
192 
193 
194  if(cfg_causeCodeEmergency)
195  {
196  m_causeCodeEmergency = (CauseCode_t*) calloc(1, sizeof(CauseCode_t));
197  m_causeCodeEmergency->causeCode = cfg_getint(cfg_causeCodeEmergency, "causeCodeType");
198  m_causeCodeEmergency->subCauseCode = cfg_getint(cfg_causeCodeEmergency, "subCauseCodeType");
199  }
200  else
202 
203  if(cfg_causeCodeSafety)
204  {
205  m_causeCodeSafety = (CauseCode_t*) calloc(1, sizeof(CauseCode_t));
206  m_causeCodeSafety->causeCode = cfg_getint(cfg_causeCodeSafety, "causeCodeType");
207  m_causeCodeSafety->subCauseCode = cfg_getint(cfg_causeCodeSafety, "subCauseCodeType");
208  }
209  else
210  m_causeCodeSafety = 0;
211 
212  if(cfg_causeCodeStationary)
213  {
214  m_causeCodeStationary = (CauseCode_t*) calloc(1, sizeof(CauseCode_t));
215  m_causeCodeStationary->causeCode = cfg_getint(cfg_causeCodeStationary, "causeCodeType");
216  m_causeCodeStationary->subCauseCode = cfg_getint(cfg_causeCodeStationary, "subCauseCodeType");
217  }
218  else
220 
221  if(cfg_closedLanes)
222  {
223  m_closedLanes = (ClosedLanes*) calloc(1, sizeof(ClosedLanes));
224  m_closedLanes->drivingLaneStatus = makeBitString(cfg_size(cfg_closedLanes, "drivingLaneStatus"), cfg_closedLanes, "drivingLaneStatus");
225  if(cfg_getint(cfg_closedLanes, "hardShoulderStatus") == -1)
227  else
228  {
230  *m_closedLanes->hardShoulderStatus = cfg_getint(cfg_closedLanes, "hardShoulderStatus");
231  }
232  }
233  else
234  m_closedLanes = 0;
235 
236  m_dangerousGoodsBasic= cfg_getint(cfg, "dangerousGoodsBasic");
237 
238  if(cfg_dangerousGoodExtended)
239  {
241 
242  if(cfg_size(cfg_dangerousGoodExtended, "companyName") != 0)
243  {
245  m_dangerousGoodsExtended->companyName->size = cfg_size(cfg_dangerousGoodExtended, "companyName");
247  for(int i=0; i<m_dangerousGoodsExtended->companyName->size; i++)
248  m_dangerousGoodsExtended->companyName->buf[i] = cfg_getnint(cfg_dangerousGoodExtended, "companyName", i);
249  }
250  else
252 
253  m_dangerousGoodsExtended->dangerousGoodsType = cfg_getint(cfg_dangerousGoodExtended, "dangerousGoodsType");
254  m_dangerousGoodsExtended->elevatedTemperature = cfg_getbool(cfg_dangerousGoodExtended, "elevatedTemperature");
255 
256  if(cfg_size(cfg_dangerousGoodExtended, "emergencyActionCode") != 0)
257  {
259  m_dangerousGoodsExtended->emergencyActionCode->size = cfg_size(cfg_dangerousGoodExtended, "emergencyActionCode");
261  for(int i=0; i<m_dangerousGoodsExtended->emergencyActionCode->size; i++)
262  m_dangerousGoodsExtended->emergencyActionCode->buf[i] = cfg_getnint(cfg_dangerousGoodExtended, "emergencyActionCode", i);
263  }
264  else
266 
267  m_dangerousGoodsExtended->limitedQuantity = cfg_getbool(cfg_dangerousGoodExtended, "limitedQuantity");
268 
269  if(cfg_size(cfg_dangerousGoodExtended, "phoneNumber") != 0)
270  {
272  m_dangerousGoodsExtended->phoneNumber->size = cfg_size(cfg_dangerousGoodExtended, "phoneNumber");
274  for(int i=0; i<m_dangerousGoodsExtended->phoneNumber->size; i++)
275  m_dangerousGoodsExtended->phoneNumber->buf[i] = cfg_getnint(cfg_dangerousGoodExtended, "phoneNumber", i);
276  }
277  else
279 
280  m_dangerousGoodsExtended->tunnelsRestricted = cfg_getbool(cfg_dangerousGoodExtended, "tunnelsRestricted");
281  m_dangerousGoodsExtended->unNumber = cfg_getint(cfg_dangerousGoodExtended, "unNumber");
282  }
283  else
285 
286  m_embarkationStatus = cfg_getbool(cfg, "embarkationStatus");
287 
288  if(cfg_size(cfg,"emergencyPriority"))
289  {
291  *m_emergencyPriority = makeBitString(cfg_size(cfg,"emergencyPriority"), cfg, "emergencyPriority");
292  }
293  else
295 
296  m_itsGnIsMobile = cfg_getbool(cfg, "itsGnIsMobile");
297 
298  if(cfg_ptActivation)
299  {
300  m_ptActivation = (PtActivation_t*)calloc(1, sizeof *m_ptActivation);
301  m_ptActivation->ptActivationType = cfg_getint(cfg_ptActivation, "ptActivationType");
302  m_ptActivation->ptActivationData.size = cfg_size(cfg_ptActivation, "ptActivationData");
304  for(int i=0; i<m_ptActivation->ptActivationData.size; i++)
305  m_ptActivation->ptActivationData.buf[i] = cfg_getnint(cfg_ptActivation, "ptActivationData", i);
306  }
307  else
308  m_ptActivation = 0;
309 
310  if(cfg_getint(cfg, "roadworksSubCauseCode") == -1)
312  else
313  {
315  *m_roadworksSubCauseCode = cfg_getint(cfg, "roadworksSubCauseCode");
316  //constr_RoadworksSubCauseCode(m_roadworksSubCauseCode);
317  }
318 
319  if(cfg_getint(cfg, "speedLimit") == -1)
320  m_speedLimit = 0;
321  else
322  {
323  m_speedLimit = (SpeedLimit_t*) calloc(1, sizeof(SpeedLimit_t));
324  *m_speedLimit = cfg_getint(cfg, "speedLimit");
325  //constr_SpeedLimit(m_speedLimit);
326  }
327 
328  if(cfg_getint(cfg, "stationarySince") == -1)
329  m_stationarySince = 0;
330  else
331  {
332  m_stationarySince = (StationarySince_t*) calloc(1, sizeof(StationarySince_t));
333  *m_stationarySince = cfg_getint(cfg, "stationarySince");
334  //constr_SpeedLimit(m_speedLimit);
335  }
336 
337  m_stationID = cfg_getint(cfg, "stationID");
338 
339  m_stationType = cfg_getint(cfg, "stationType");
340 
341  m_specialTransportType = makeBitString(cfg_size(cfg,"specialTransportType"), cfg, "specialTransportType");
342 
343  if(cfg_getint(cfg, "trafficRule") == -1)
344  m_trafficRule = 0;
345  else
346  {
347  m_trafficRule = (TrafficRule_t*) calloc(1, sizeof(TrafficRule_t));
348  *m_trafficRule = cfg_getint(cfg, "trafficRule");
349  //constr_TrafficRule(m_trafficRule);
350  }
351 
352 
353  if(cfg_vehicleIdentification)
354  {
356  if(cfg_size(cfg_vehicleIdentification, "vDS") != 0)
357  {
358  m_vehicleIdentification->vDS = (VDS_t*) calloc(1, sizeof(VDS_t));
359  m_vehicleIdentification->vDS->size = cfg_size(cfg_vehicleIdentification, "vDS");
360  m_vehicleIdentification->vDS->buf = (uint8_t*) calloc(m_vehicleIdentification->vDS->size, 1);
361  for(int i=0; i<m_vehicleIdentification->vDS->size; i++)
362  m_vehicleIdentification->vDS->buf[i] = cfg_getnint(cfg_vehicleIdentification, "vDS", i);
363  }
364  else
366 
367  if(cfg_size(cfg_vehicleIdentification, "wMInumber") != 0)
368  {
369  m_vehicleIdentification->wMInumber = (WMInumber_t*) calloc(1, sizeof(WMInumber_t));
370  m_vehicleIdentification->wMInumber->size = cfg_size(cfg_vehicleIdentification, "wMInumber");
372  for(int i=0; i<m_vehicleIdentification->wMInumber->size; i++)
373  m_vehicleIdentification->wMInumber->buf[i] = cfg_getnint(cfg_vehicleIdentification, "wMInumber", i);
374  }
375  else
377  }
378  else
380 
381  m_vehicleRole = cfg_getint(cfg, "vehicleRole");
382 
383  cfg_free(cfg);
384 }
385 
387 {
388  printf("-----------------------------------------------------------------\n\t\tReadAppliUpperTester\n\n");
389 
390  if(m_causeCodeEmergency != 0)
391  printf("causeCodeEmergency\n{\n\tcauseCodeType = %ld\n\tsubCauseCodeType = %ld\n}\n\n", m_causeCodeEmergency->causeCode, m_causeCodeEmergency->subCauseCode);
392 
393  if(m_causeCodeSafety != 0)
394  printf("causeCodeSafety\n{\n\tcauseCodeType = %ld\n\tsubCauseCodeType = %ld\n}\n\n", m_causeCodeSafety->causeCode, m_causeCodeSafety->subCauseCode);
395 
396  if(m_causeCodeStationary != 0)
397  printf("causeCodeStationary\n{\n\tcauseCodeType = %ld\n\tsubCauseCodeType = %ld\n}\n\n", m_causeCodeStationary->causeCode, m_causeCodeStationary->subCauseCode);
398 
399  if(m_closedLanes != 0)
400  {
401  printf("closedLanes\n{\n\tdrivingLaneStatus = %s\n", printBitString(m_closedLanes->drivingLaneStatus).toStdString().c_str());
403  printf("\thardShoulderStatus = %ld\n", *m_closedLanes->hardShoulderStatus);
404  printf("}\n\n");
405  }
406 
407  printf("dangerousGoodsBasic = %ld\n\n", m_dangerousGoodsBasic);
408 
409  if(m_dangerousGoodsExtended != 0)
410  {
411  printf("dangerousGoodsExtended\n{\n");
413  {
414  printf("\tcompanyName = {");
415  int i;
416  for(i=0; i<m_dangerousGoodsExtended->companyName->size-1; i++)
417  printf("%d, ", m_dangerousGoodsExtended->companyName->buf[i]);
418  printf("%d}\n\n", m_dangerousGoodsExtended->companyName->buf[i]);
419  }
420 
421  printf("\tdangerousGoodsType = %ld\n\n", m_dangerousGoodsExtended->dangerousGoodsType);
422 
423  printf("\televatedTemperature = ");m_dangerousGoodsExtended->elevatedTemperature?printf("true\n\n"):printf("false\n\n");
424 
426  {
427  printf("\temergencyActionCode = {");
428  int i;
430  printf("%d, ", m_dangerousGoodsExtended->emergencyActionCode->buf[i]);
431  printf("%d}\n\n", m_dangerousGoodsExtended->emergencyActionCode->buf[i]);
432  }
433 
434  printf("\tlimitedQuantity = ");m_dangerousGoodsExtended->limitedQuantity?printf("true\n\n"):printf("false\n\n");
435 
437  {
438  printf("\tphoneNumber = {");
439  int i;
440  for(i=0; i<m_dangerousGoodsExtended->phoneNumber->size-1; i++)
441  printf("%d, ", m_dangerousGoodsExtended->phoneNumber->buf[i]);
442  printf("%d}\n\n", m_dangerousGoodsExtended->phoneNumber->buf[i]);
443  }
444 
445  printf("\ttunnelsResticted = ");m_dangerousGoodsExtended->tunnelsRestricted?printf("true\n\n"):printf("false\n\n");
446 
447  printf("\tunNumber = %ld\n", m_dangerousGoodsExtended->unNumber);
448 
449  printf("}\n\n");
450  }
451 
452  printf("embarkationStatus = "); m_embarkationStatus?printf("true\n\n"):printf("false\n\n");
453 
454  if(m_emergencyPriority != 0)
455  printf("emergencyPriority = %s\n\n", printBitString(*m_emergencyPriority).toStdString().c_str());
456 
457  printf("itsGnIsMobile = %d\n\n", m_itsGnIsMobile);
458  if(m_ptActivation != 0)
459  {
460  printf("ptActivation\n{\n\tptActivationType = %ld\n\tptActivationDataLength = %d\n\tptActivationData = {", m_ptActivation->ptActivationType, m_ptActivation->ptActivationData.size);
461  int i;
462  for(i=0; i<m_ptActivation->ptActivationData.size-1; i++)
463  printf("%d, ", m_ptActivation->ptActivationData.buf[i]);
464  printf("%d}\n}\n\n", m_ptActivation->ptActivationData.buf[i]);
465  }
466 
467  if(m_roadworksSubCauseCode != 0)
468  printf("roadworksSubCauseCode = %ld\n\n", *m_roadworksSubCauseCode);
469 
470  if(m_speedLimit != 0)
471  printf("speedLimit = %ld\n\n", *m_speedLimit);
472 
473  printf("stationID = %ld\n\n", m_stationID);
474 
475  printf("stationType = %ld\n\n", m_stationType);
476 
477  printf("specialTransportType = %s\n\n", printBitString(m_specialTransportType).toStdString().c_str());
478 
479  if(m_trafficRule != 0)
480  printf("trafficRule = %ld\n\n", *m_trafficRule);
481 
482  if(m_vehicleIdentification != 0)
483  {
484  printf("vehicleIdentification\n{\n");
485  if(m_vehicleIdentification->vDS != 0)
486  {
487  printf("\tvDS = {");
488  int i;
489  for(i=0; i<m_vehicleIdentification->vDS->size-1; i++)
490  printf("%d, ", m_vehicleIdentification->vDS->buf[i]);
491  printf("%d}\n\n", m_vehicleIdentification->vDS->buf[i]);
492  }
493 
495  {
496  printf("\twMInumber = {");
497  int i;
498  for(i=0; i<m_vehicleIdentification->wMInumber->size-1; i++)
499  printf("%d, ", m_vehicleIdentification->wMInumber->buf[i]);
500  printf("%d}\n", m_vehicleIdentification->wMInumber->buf[i]);
501  }
502  printf("}\n\n");
503  }
504 
505  printf("vehicleRole = %ld\n\n", m_vehicleRole);
506 
507 }
508 
510 {
512  this->m_causeCodeSafety = other.m_causeCodeSafety;
514  this->m_closedLanes = other.m_closedLanes;
519  this->m_itsGnIsMobile = other.m_itsGnIsMobile;
520  this->m_ptActivation = other.m_ptActivation;
523  this->m_speedLimit = other.m_speedLimit;
524  this->m_stationarySince = other.m_stationarySince;
525  this->m_stationID = other.m_stationID;
526  this->m_stationType = other.m_stationType;
528  this->m_vehicleRole = other.m_vehicleRole;
529  return *this;
530 }
void read()
read Configuration file reading.
PtActivation_t * m_ptActivation
VehicleIdentification_t * m_vehicleIdentification
int validate_unsigned_int(cfg_t *cfg, cfg_opt_t *opt)
validate_unsigned_int Check if an option is an unsigned int
Definition: api.cpp:186
CauseCode_t * m_causeCodeEmergency
long RoadworksSubCauseCode_t
long HardShoulderStatus_t
SpecialTransportType_t m_specialTransportType
long StationarySince_t
QString printBitString(BIT_STRING_t b)
printBitString Print a BIT_STRING into a QString.
Definition: api.cpp:175
RoadworksSubCauseCode_t * m_roadworksSubCauseCode
ParameterApplication()
ParameterApplication ParameterApplication default constructor.
CauseCode_t * m_causeCodeStationary
long TrafficRule_t
Definition: TrafficRule.h:32
void readDebug()
readDebug Configuration printing.
HardShoulderStatus_t * hardShoulderStatus
Definition: ClosedLanes.h:24
CauseCodeType_t causeCode
Definition: CauseCode.h:24
BIT_STRING_t makeBitString(int nbits, cfg_t *cfg, const char *opt_name)
makeBitString Generate a BIT_STRING from configuration.
Definition: api.cpp:198
EmergencyPriority_t * m_emergencyPriority
CauseCode_t * m_causeCodeSafety
PtActivationType_t ptActivationType
Definition: PtActivation.h:24
DangerousGoodsExtended_t * m_dangerousGoodsExtended
ParameterApplication & operator=(const ParameterApplication &other)
operator= Affectation operator.
long SpeedLimit_t
Definition: SpeedLimit.h:26
PtActivationData_t ptActivationData
Definition: PtActivation.h:25
DangerousGoodsBasic_t m_dangerousGoodsBasic
TrafficRule_t * m_trafficRule
StationarySince_t * m_stationarySince
EmbarkationStatus_t m_embarkationStatus
uint8_t * buf
Definition: OCTET_STRING.h:15
DangerousGoodsBasic_t dangerousGoodsType
DrivingLaneStatus_t drivingLaneStatus
Definition: ClosedLanes.h:25
SubCauseCodeType_t subCauseCode
Definition: CauseCode.h:25
ClosedLanes_t * m_closedLanes
~ParameterApplication()
~ParameterApplication ParameterApplication destructor.