Skip to content

Commit 1dfe57f

Browse files
committed
Release v0.15.5
2 parents 001e6e3 + 3e0ce40 commit 1dfe57f

File tree

7 files changed

+120
-22
lines changed

7 files changed

+120
-22
lines changed

.travis.yml

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
dist: bionic
1+
dist: xenial
22
language: cpp
33
sudo: true
44
notifications:
55
email:
6-
recipients:
7-
- arobenko@gmail.com
86
on_success: change
97
on_failure: always
108

@@ -33,142 +31,165 @@ matrix:
3331
- os: linux
3432
addons:
3533
apt:
34+
sources:
35+
- sourceline: "ppa:ubuntu-toolchain-r/test"
3636
packages:
3737
- g++-6
3838
env: _CC=gcc-6 _CXX=g++-6 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
3939
- os: linux
4040
addons:
4141
apt:
42+
sources:
43+
- sourceline: "ppa:ubuntu-toolchain-r/test"
4244
packages:
4345
- g++-6
4446
env: _CC=gcc-6 _CXX=g++-6 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
4547
- os: linux
4648
addons:
4749
apt:
50+
sources:
51+
- sourceline: "ppa:ubuntu-toolchain-r/test"
4852
packages:
4953
- g++-7
5054
env: _CC=gcc-7 _CXX=g++-7 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
5155
- os: linux
5256
addons:
5357
apt:
58+
sources:
59+
- sourceline: "ppa:ubuntu-toolchain-r/test"
5460
packages:
5561
- g++-7
5662
env: _CC=gcc-7 _CXX=g++-7 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
5763
- os: linux
5864
addons:
5965
apt:
66+
sources:
67+
- sourceline: "ppa:ubuntu-toolchain-r/test"
6068
packages:
6169
- g++-8
6270
env: _CC=gcc-8 _CXX=g++-8 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
6371
- os: linux
6472
addons:
6573
apt:
74+
sources:
75+
- sourceline: "ppa:ubuntu-toolchain-r/test"
6676
packages:
6777
- g++-8
6878
env: _CC=gcc-8 _CXX=g++-8 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
6979
- os: linux
70-
env: _CC=gcc-9 _CXX=g++-9 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _USE_GCC9=1
80+
addons:
81+
apt:
82+
sources:
83+
- sourceline: "ppa:ubuntu-toolchain-r/test"
84+
packages:
85+
- g++-9
86+
env: _CC=gcc-9 _CXX=g++-9 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
7187
- os: linux
72-
env: _CC=gcc-9 _CXX=g++-9 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _USE_GCC9=1 _BUILD="-DCMAKE_CXX_STANDARD=14"
88+
addons:
89+
apt:
90+
sources:
91+
- sourceline: "ppa:ubuntu-toolchain-r/test"
92+
packages:
93+
- g++-9
94+
env: _CC=gcc-9 _CXX=g++-9 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
7395
- os: linux
7496
addons:
7597
apt:
7698
sources:
77-
- llvm-toolchain-trusty-3.9
99+
- llvm-toolchain-xenial-3.9
78100
packages:
79101
- clang-3.9
80102
env: _CC=clang-3.9 _CXX=clang++-3.9 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
81103
- os: linux
82104
addons:
83105
apt:
84106
sources:
85-
- llvm-toolchain-trusty-3.9
107+
- llvm-toolchain-xenial-3.9
86108
packages:
87109
- clang-3.9
88110
env: _CC=clang-3.9 _CXX=clang++-3.9 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
89111
- os: linux
90112
addons:
91113
apt:
92114
sources:
93-
- llvm-toolchain-trusty-4.0
115+
- llvm-toolchain-xenial-4.0
94116
packages:
95117
- clang-4.0
96118
env: _CC=clang-4.0 _CXX=clang++-4.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
97119
- os: linux
98120
addons:
99121
apt:
100122
sources:
101-
- llvm-toolchain-trusty-4.0
123+
- llvm-toolchain-xenial-4.0
102124
packages:
103125
- clang-4.0
104126
env: _CC=clang-4.0 _CXX=clang++-4.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
105127
- os: linux
106128
addons:
107129
apt:
108130
sources:
109-
- llvm-toolchain-trusty-5.0
131+
- llvm-toolchain-xenial-5.0
110132
packages:
111133
- clang-5.0
112134
env: _CC=clang-5.0 _CXX=clang++-5.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
113135
- os: linux
114136
addons:
115137
apt:
116138
sources:
117-
- llvm-toolchain-trusty-5.0
139+
- llvm-toolchain-xenial-5.0
118140
packages:
119141
- clang-5.0
120142
env: _CC=clang-5.0 _CXX=clang++-5.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
121143
- os: linux
122144
addons:
123145
apt:
124146
sources:
125-
- llvm-toolchain-trusty-6.0
147+
- llvm-toolchain-xenial-6.0
126148
packages:
127149
- clang-6.0
128150
env: _CC=clang-6.0 _CXX=clang++-6.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
129151
- os: linux
130152
addons:
131153
apt:
132154
sources:
133-
- llvm-toolchain-trusty-6.0
155+
- llvm-toolchain-xenial-6.0
134156
packages:
135157
- clang-6.0
136158
env: _CC=clang-6.0 _CXX=clang++-6.0 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
137159
- os: linux
138160
addons:
139161
apt:
140162
sources:
141-
- llvm-toolchain-trusty-7
163+
- llvm-toolchain-xenial-7
142164
packages:
143165
- clang-7
144166
env: _CC=clang-7 _CXX=clang++-7 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
145167
- os: linux
146168
addons:
147169
apt:
148170
sources:
149-
- llvm-toolchain-trusty-7
171+
- llvm-toolchain-xenial-7
150172
packages:
151173
- clang-7
152174
env: _CC=clang-7 _CXX=clang++-7 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
153175
- os: linux
154176
addons:
155177
apt:
156178
sources:
157-
- llvm-toolchain-trusty-8
179+
- llvm-toolchain-xenial-8
158180
packages:
159181
- clang-8
160182
env: _CC=clang-8 _CXX=clang++-8 _DSL_CC=${_CC} _DSL_CXX=${_CXX}
161183
- os: linux
162184
addons:
163185
apt:
164186
sources:
165-
- llvm-toolchain-trusty-8
187+
- llvm-toolchain-xenial-8
166188
packages:
167189
- clang-8
168190
env: _CC=clang-8 _CXX=clang++-8 _DSL_CC=${_CC} _DSL_CXX=${_CXX} _BUILD="-DCMAKE_CXX_STANDARD=14"
169191

170192
before_install:
171-
- if [ -n "${_USE_GCC9}" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get update; sudo apt-get install g++-9; fi
172193
- sudo apt-get install libqt5serialport5-dev -y
173194
- sudo apt-get install libboost-program-options-dev libboost-filesystem-dev libboost-system-dev -y
174195

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ if ("${COMMS_TAG}" STREQUAL "")
2121
set(COMMS_TAG "v2.3.3")
2222
endif ()
2323

24-
set (VERSION "0.15.4")
24+
set (VERSION "0.15.5")
2525

2626
set (COMMSDSL_TGT "commsdsl_tgt")
2727
if ("${COMMSDSL2COMMS}" STREQUAL "")

dsl/schema.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
<special name="BroadcastToAll" val="0" />
7474
</int>
7575
<data name="GwAdd" />
76-
<enum name="QoS" type="uint8">
76+
<enum name="Qos" type="uint8">
7777
<validValue name="AtMostOnceDelivery" val="0" />
7878
<validValue name="AtLeastOnceDelivery" val="1" />
7979
<validValue name="ExactlyOnceDelivery" val="2" />
@@ -90,7 +90,7 @@
9090
<bit name="Will" idx="1" />
9191
<bit name="Retain" idx="2" />
9292
</set>
93-
<ref field="QoS" bitLength="2" />
93+
<ref field="Qos" bitLength="2" />
9494
<set name="high" bitLength="1" displayName="_">
9595
<bit name="Dup" idx="0" />
9696
</set>
@@ -145,7 +145,9 @@
145145
<message name="Willtopicreq" id="MsgId.Willtopicreq" displayName="^WilltopicreqName" sender="server"/>
146146

147147
<message name="Willtopic" id="MsgId.Willtopic" displayName="^WilltopicName" sender="client">
148-
<ref field="Flags" />
148+
<optional name="Flags" defaultMode="tentative">
149+
<ref field="Flags" name="FlagsField" />
150+
</optional>
149151
<ref field="WillTopic" />
150152
</message>
151153

@@ -225,6 +227,9 @@
225227
</message>
226228

227229
<message name="Willtopicupd" id="MsgId.Willtopicupd" displayName="^WilltopicupdName" sender="client">
230+
<optional name="Flags" defaultMode="tentative">
231+
<ref field="Flags" name="FlagsField" />
232+
</optional>
228233
<ref field="WillTopic" />
229234
</message>
230235

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/// @brief Custom read functionality
2+
template <typename TIter>
3+
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
4+
{
5+
auto es = Base::doRead(iter, len);
6+
if (es != comms::ErrorStatus::Success) {
7+
return es;
8+
}
9+
10+
bool hasMissingFlags = field_flags().isMissing();
11+
bool hasEmptyTopic = field_willTopic().value().empty();
12+
if (hasMissingFlags != hasEmptyTopic) {
13+
return comms::ErrorStatus::InvalidMsgData;
14+
}
15+
16+
return comms::ErrorStatus::Success;
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/// @brief Custom refresh functionality
2+
bool doRefresh()
3+
{
4+
bool updated = Base::doRefresh();
5+
6+
bool hasEmptyTopic = field_willTopic().value().empty();
7+
if ((hasEmptyTopic && field_flags().isMissing()) ||
8+
((!hasEmptyTopic) && field_flags().doesExist())) {
9+
return updated;
10+
}
11+
12+
if (hasEmptyTopic) {
13+
field_flags().setMissing();
14+
return true;
15+
}
16+
17+
field_flags().setExists();
18+
return true;
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/// @brief Custom read functionality
2+
template <typename TIter>
3+
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
4+
{
5+
auto es = Base::doRead(iter, len);
6+
if (es != comms::ErrorStatus::Success) {
7+
return es;
8+
}
9+
10+
bool hasMissingFlags = field_flags().isMissing();
11+
bool hasEmptyTopic = field_willTopic().value().empty();
12+
if (hasMissingFlags != hasEmptyTopic) {
13+
return comms::ErrorStatus::InvalidMsgData;
14+
}
15+
16+
return comms::ErrorStatus::Success;
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/// @brief Custom refresh functionality
2+
bool doRefresh()
3+
{
4+
bool updated = Base::doRefresh();
5+
6+
bool hasEmptyTopic = field_willTopic().value().empty();
7+
if ((hasEmptyTopic && field_flags().isMissing()) ||
8+
((!hasEmptyTopic) && field_flags().doesExist())) {
9+
return updated;
10+
}
11+
12+
if (hasEmptyTopic) {
13+
field_flags().setMissing();
14+
return true;
15+
}
16+
17+
field_flags().setExists();
18+
return true;
19+
}

0 commit comments

Comments
 (0)