ITS
LifeTime.cpp
Go to the documentation of this file.
1 #include "LifeTime.h"
2 
3 #include <QDataStream>
4 
6 {
8 }
9 
10 LifeTime::LifeTime(quint8 multiplier, e_base base)
11 {
12  m_multiplier_base = ((multiplier & 0x3F) << 2) + (base & 0x3);
13 }
14 
15 LifeTime::LifeTime(quint8 multiplierBase)
16 {
18 }
19 
20 LifeTime::LifeTime(quint64 lifeTime)
21 {
22  quint8 base;
23  quint8 multiplier;
24  if(lifeTime % 100000 == 0)
25  {
27  multiplier = lifeTime / 100000;
28  }
29  else if(lifeTime % 10000 == 0)
30  {
32  multiplier = lifeTime / 10000;
33  }
34  else if(lifeTime % 1000 == 0)
35  {
37  multiplier = lifeTime / 1000;
38  }
39  else if(lifeTime % 50 == 0)
40  {
42  multiplier = lifeTime / 50;
43  }
44  else
45  {
48  }
49  m_multiplier_base = ((multiplier & 0x3F) << 2) + (base & 0x3);
50 }
51 
53 {
55 }
56 
58 {
60 }
61 
62 void LifeTime::setMultiplierBase(quint32 lifeTime)
63 {
64  quint8 base;
65  quint8 multiplier;
66  if(lifeTime % 100000 == 0)
67  {
69  multiplier = lifeTime / 100000;
70  }
71  else if(lifeTime % 10000 == 0)
72  {
74  multiplier = lifeTime / 10000;
75  }
76  else if(lifeTime % 1000 == 0)
77  {
79  multiplier = lifeTime / 1000;
80  }
81  else if(lifeTime % 50 == 0)
82  {
84  multiplier = lifeTime / 50;
85  }
86  else if(lifeTime / 50 > 0 && lifeTime / 50 > 3150)
87  {
89  multiplier = lifeTime / 50;
90  }
91  else if(lifeTime / 1000 < 63000)
92  {
94  multiplier = lifeTime / 1000;
95  }
96  else if(lifeTime / 10000 < 630000)
97  {
99  multiplier = lifeTime / 10000;
100  }
101  else if(lifeTime / 100000 < 6300000)
102  {
104  multiplier = lifeTime / 10000;
105  }
106  else
107  {
110  }
111  m_multiplier_base = ((multiplier & 0x3F) << 2) + (base & 0x3);
112 }
113 
114 QByteArray LifeTime::toHex()
115 {
116  QByteArray hex;
117  QDataStream ds(&hex, QIODevice::WriteOnly);
118 
119  ds << m_multiplier_base;
120 
121  return hex;
122 }
quint8 multiplier() const
multiplier Multiplier getter.
Definition: LifeTime.h:81
QByteArray toHex()
toHex Encode the LifeTime in byte array.
Definition: LifeTime.cpp:114
quint8 base() const
base Base getter.
Definition: LifeTime.h:86
quint8 m_multiplier_base
Definition: LifeTime.h:170
quint8 multiplierBase() const
multiplierBase Multiplier + base getter.
Definition: LifeTime.h:115
sniff_lifeTime_t structure is the C style of the class.
Definition: LifeTime.h:16
quint32 lifeTime() const
lifeTime Life time value computation.
Definition: LifeTime.h:120
LifeTime()
LifeTime LifeTime constructor.
Definition: LifeTime.cpp:5
#define itsGnDefaultPacketLifeTime
Definition: constantes.h:111
quint8 multiplier_base
Definition: LifeTime.h:18
void setMultiplierBase(quint8 m)
setMultiplierBase Multiplier + base setter.
Definition: LifeTime.h:155
Life time definition.
e_base
The e_base enum is the base encoding.
Definition: LifeTime.h:36