feat(UML-1582): Добавлена обертка для упаковки сырых данных
This commit is contained in:
parent
bd46f29041
commit
b1f1cadcfc
@ -12,6 +12,11 @@
|
||||
|
||||
namespace free_rtos {
|
||||
|
||||
struct RawData {
|
||||
void *data{nullptr};
|
||||
size_t size{0};
|
||||
};
|
||||
|
||||
struct Padding {
|
||||
size_t size;
|
||||
};
|
||||
@ -47,6 +52,16 @@ struct PackFunctor : public PackFunctorBase {
|
||||
raw += size;
|
||||
}
|
||||
|
||||
void operator()(RawData& data) {
|
||||
if(data.data == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy(raw, data.data, data.size);
|
||||
|
||||
raw += data.size;
|
||||
}
|
||||
|
||||
void operator()(Padding& padding) {
|
||||
raw += padding.size;
|
||||
}
|
||||
@ -85,6 +100,16 @@ struct UnpackFunctor : public UnpackFunctorBase {
|
||||
raw += size;
|
||||
}
|
||||
|
||||
void operator()(RawData& data) {
|
||||
if(data.data == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy(data.data, raw, data.size);
|
||||
|
||||
raw += data.size;
|
||||
}
|
||||
|
||||
void operator()(Padding& padding) {
|
||||
raw += padding.size;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user