15
15
// You should have received a copy of the GNU General Public License
16
16
// along with DBusParse. If not, see <https://www.gnu.org/licenses/>.
17
17
18
-
19
18
#pragma once
20
19
21
- #include < string.h>
22
20
#include " dbus.hpp"
21
+ #include < string.h>
23
22
24
23
// Round pos up to a multiple of alignment.
25
24
inline size_t alignup (size_t pos, size_t alignment) {
@@ -37,7 +36,9 @@ class SerializerDryRunBase : public Serializer {
37
36
SerializerDryRunBase () : pos_(0 ) {}
38
37
39
38
virtual void writeByte (char ) override { pos_ += sizeof (char ); }
40
- virtual void writeBytes (const char *, size_t bufsize) override { pos_ += bufsize; }
39
+ virtual void writeBytes (const char *, size_t bufsize) override {
40
+ pos_ += bufsize;
41
+ }
41
42
virtual void writeUint16 (uint16_t ) override { pos_ += sizeof (uint16_t ); }
42
43
virtual void writeUint32 (uint32_t ) override { pos_ += sizeof (uint32_t ); }
43
44
virtual void writeUint64 (uint64_t ) override { pos_ += sizeof (uint64_t ); }
@@ -58,84 +59,78 @@ class SerializerDryRun final : public SerializerDryRunBase {
58
59
59
60
size_t getArrayCount () const { return arrayCount_; }
60
61
61
- virtual void recordArraySize (
62
- const std::function<uint32_t (uint32_t )>& f
63
- ) override ;
62
+ virtual void
63
+ recordArraySize (const std::function<uint32_t (uint32_t )> &f) override ;
64
64
};
65
65
66
66
class SerializerInitArraySizes final : public SerializerDryRunBase {
67
- std::vector<uint32_t >& arraySizes_; // Not owned
67
+ std::vector<uint32_t > & arraySizes_; // Not owned
68
68
69
69
public:
70
- SerializerInitArraySizes (std::vector<uint32_t >& arraySizes) :
71
- arraySizes_ (arraySizes)
72
- {}
70
+ SerializerInitArraySizes (std::vector<uint32_t > &arraySizes)
71
+ : arraySizes_(arraySizes) {}
73
72
74
- virtual void recordArraySize (
75
- const std::function<uint32_t (uint32_t )>& f
76
- ) override ;
73
+ virtual void
74
+ recordArraySize (const std::function<uint32_t (uint32_t )> &f) override ;
77
75
};
78
76
79
77
class SerializeToBufferBase : public Serializer {
80
78
size_t arrayCount_;
81
- const std::vector<uint32_t >& arraySizes_; // Not owned
79
+ const std::vector<uint32_t > & arraySizes_; // Not owned
82
80
83
81
public:
84
- SerializeToBufferBase (const std::vector<uint32_t >& arraySizes) :
85
- arrayCount_ (0 ), arraySizes_(arraySizes)
86
- {}
82
+ SerializeToBufferBase (const std::vector<uint32_t > &arraySizes)
83
+ : arrayCount_(0 ), arraySizes_(arraySizes) {}
87
84
88
- virtual void recordArraySize (
89
- const std::function<uint32_t (uint32_t )>& f
90
- ) override ;
85
+ virtual void
86
+ recordArraySize (const std::function<uint32_t (uint32_t )> &f) override ;
91
87
};
92
88
93
89
template <Endianness endianness>
94
90
class SerializeToBuffer final : public SerializeToBufferBase {
95
91
size_t pos_;
96
- char * buf_; // Not owned by this class
92
+ char * buf_; // Not owned by this class
97
93
98
94
public:
99
- SerializeToBuffer (const std::vector<uint32_t >& arraySizes, char * buf) :
100
- SerializeToBufferBase (arraySizes), pos_(0 ), buf_(buf)
101
- {}
95
+ SerializeToBuffer (const std::vector<uint32_t > &arraySizes, char *buf)
96
+ : SerializeToBufferBase(arraySizes), pos_(0 ), buf_(buf) {}
102
97
103
98
virtual void writeByte (char c) override {
104
99
buf_[pos_] = c;
105
100
pos_ += sizeof (char );
106
101
}
107
102
108
- virtual void writeBytes (const char * buf, size_t bufsize) override {
103
+ virtual void writeBytes (const char * buf, size_t bufsize) override {
109
104
memcpy (&buf_[pos_], buf, bufsize);
110
105
pos_ += bufsize;
111
106
}
112
107
113
108
virtual void writeUint16 (uint16_t x) override {
114
109
static_assert (endianness == LittleEndian || endianness == BigEndian);
115
110
if (endianness == LittleEndian) {
116
- *(uint16_t *)&buf_[pos_] = htole16 (x);
111
+ *(uint16_t *)&buf_[pos_] = htole16 (x);
117
112
} else {
118
- *(uint16_t *)&buf_[pos_] = htobe16 (x);
113
+ *(uint16_t *)&buf_[pos_] = htobe16 (x);
119
114
}
120
115
pos_ += sizeof (uint16_t );
121
116
}
122
117
123
118
virtual void writeUint32 (uint32_t x) override {
124
119
static_assert (endianness == LittleEndian || endianness == BigEndian);
125
120
if (endianness == LittleEndian) {
126
- *(uint32_t *)&buf_[pos_] = htole32 (x);
121
+ *(uint32_t *)&buf_[pos_] = htole32 (x);
127
122
} else {
128
- *(uint32_t *)&buf_[pos_] = htobe32 (x);
123
+ *(uint32_t *)&buf_[pos_] = htobe32 (x);
129
124
}
130
125
pos_ += sizeof (uint32_t );
131
126
}
132
127
133
128
virtual void writeUint64 (uint64_t x) override {
134
129
static_assert (endianness == LittleEndian || endianness == BigEndian);
135
130
if (endianness == LittleEndian) {
136
- *(uint64_t *)&buf_[pos_] = htole64 (x);
131
+ *(uint64_t *)&buf_[pos_] = htole64 (x);
137
132
} else {
138
- *(uint64_t *)&buf_[pos_] = htobe64 (x);
133
+ *(uint64_t *)&buf_[pos_] = htobe64 (x);
139
134
}
140
135
pos_ += sizeof (uint64_t );
141
136
}
@@ -170,18 +165,15 @@ class SerializeToBuffer final : public SerializeToBufferBase {
170
165
// they're ok.)
171
166
template <Endianness endianness>
172
167
class SerializeToString final : public SerializeToBufferBase {
173
- std::string& str_; // Not owned
168
+ std::string & str_; // Not owned
174
169
175
170
public:
176
- SerializeToString (const std::vector<uint32_t >& arraySizes, std::string& str) :
177
- SerializeToBufferBase (arraySizes), str_(str)
178
- {}
171
+ SerializeToString (const std::vector<uint32_t > &arraySizes, std::string &str)
172
+ : SerializeToBufferBase(arraySizes), str_(str) {}
179
173
180
- virtual void writeByte (char c) override {
181
- str_.push_back (c);
182
- }
174
+ virtual void writeByte (char c) override { str_.push_back (c); }
183
175
184
- virtual void writeBytes (const char * buf, size_t bufsize) override {
176
+ virtual void writeBytes (const char * buf, size_t bufsize) override {
185
177
str_.append (buf, bufsize);
186
178
}
187
179
@@ -192,7 +184,7 @@ class SerializeToString final : public SerializeToBufferBase {
192
184
} else {
193
185
x = htobe16 (x);
194
186
}
195
- writeBytes ((const char *)&x, sizeof (x));
187
+ writeBytes ((const char *)&x, sizeof (x));
196
188
}
197
189
198
190
virtual void writeUint32 (uint32_t x) override {
@@ -202,7 +194,7 @@ class SerializeToString final : public SerializeToBufferBase {
202
194
} else {
203
195
x = htobe32 (x);
204
196
}
205
- writeBytes ((const char *)&x, sizeof (x));
197
+ writeBytes ((const char *)&x, sizeof (x));
206
198
}
207
199
208
200
virtual void writeUint64 (uint64_t x) override {
@@ -212,7 +204,7 @@ class SerializeToString final : public SerializeToBufferBase {
212
204
} else {
213
205
x = htobe64 (x);
214
206
}
215
- writeBytes ((const char *)&x, sizeof (x));
207
+ writeBytes ((const char *)&x, sizeof (x));
216
208
}
217
209
218
210
virtual void writeDouble (double d) override {
0 commit comments