Skip to content

Commit 379d305

Browse files
authored
Renaming serialize/deserialize methods to serializeTo/serializeFrom and deserializeTo/deserializeFrom (#3880)
* Deprecating serialize/deserialize methods for clearer serializeTo/serializeFrom and deserializeTo/deserializeFrom methods to indicate direction. * Cleaned up some GCC directives that was used for an experimenting. Fixed some bugs in Serializable. * Un-deprecating serialize/deserialize methods to decouple the required FPP changes * Further modenized more child classes. Added some backwards compatibility fall-back logic to aid in FPP decoupling. * Fixing clang formatting violation * Removing redundant virtual keyword since the functions are already overrides * Incorporating PR comments * Fixing clang format issue * Incorporating PR comments * Updating documentation for new serialize/deserialize methods
1 parent e4cd846 commit 379d305

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+701
-299
lines changed

FppTestProject/FppTest/state_machine/internal/harness/TestAbsType.hpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,30 @@ struct TestAbsType final : public Fw::Serializable {
4848

4949
//! Serialize function
5050
//! \return Status
51-
Fw::SerializeStatus serialize(Fw::SerializeBufferBase& sbb //!< The serialize buffer base
51+
Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase& sbb //!< The serialize buffer base
5252
) const final {
53-
return sbb.serialize(this->m_data);
53+
return sbb.serializeFrom(this->m_data);
5454
}
5555

5656
//! Deserialize method
5757
//! \return status
58-
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase& sbb //!< The serialize buffer base
58+
Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase& sbb //!< The serialize buffer base
5959
) final {
60-
return sbb.deserialize(this->m_data);
60+
return sbb.deserializeTo(this->m_data);
61+
}
62+
63+
// ----------------------------------------------------------------------
64+
// Methods
65+
// ----------------------------------------------------------------------
66+
67+
Fw::SerializeStatus serialize(Fw::SerializeBufferBase& sbb) const final
68+
{
69+
return this->serializeTo(sbb);
70+
}
71+
72+
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase& sbb) final
73+
{
74+
return this->deserializeFrom(sbb);
6175
}
6276

6377
#if FW_SERIALIZABLE_TO_STRING

Fw/Buffer/Buffer.cpp

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,36 +113,36 @@ Fw::ExternalSerializeBufferWithMemberCopy Buffer::getDeserializer() {
113113
}
114114
}
115115

116-
Fw::SerializeStatus Buffer::serialize(Fw::SerializeBufferBase& buffer) const {
116+
Fw::SerializeStatus Buffer::serializeTo(Fw::SerializeBufferBase& buffer) const {
117117
Fw::SerializeStatus stat;
118118
#if FW_SERIALIZATION_TYPE_ID
119-
stat = buffer.serialize(static_cast<U32>(Buffer::TYPE_ID));
119+
stat = buffer.serializeFrom(static_cast<U32>(Buffer::TYPE_ID));
120120
if (stat != Fw::FW_SERIALIZE_OK) {
121121
return stat;
122122
}
123123
#endif
124-
stat = buffer.serialize(reinterpret_cast<PlatformPointerCastType>(this->m_bufferData));
124+
stat = buffer.serializeFrom(reinterpret_cast<PlatformPointerCastType>(this->m_bufferData));
125125
if (stat != Fw::FW_SERIALIZE_OK) {
126126
return stat;
127127
}
128-
stat = buffer.serialize(this->m_size);
128+
stat = buffer.serializeFrom(this->m_size);
129129
if (stat != Fw::FW_SERIALIZE_OK) {
130130
return stat;
131131
}
132-
stat = buffer.serialize(this->m_context);
132+
stat = buffer.serializeFrom(this->m_context);
133133
if (stat != Fw::FW_SERIALIZE_OK) {
134134
return stat;
135135
}
136136
return stat;
137137
}
138138

139-
Fw::SerializeStatus Buffer::deserialize(Fw::SerializeBufferBase& buffer) {
139+
Fw::SerializeStatus Buffer::deserializeFrom(Fw::SerializeBufferBase& buffer) {
140140
Fw::SerializeStatus stat;
141141

142142
#if FW_SERIALIZATION_TYPE_ID
143143
U32 typeId;
144144

145-
stat = buffer.deserialize(typeId);
145+
stat = buffer.deserializeTo(typeId);
146146
if (stat != Fw::FW_SERIALIZE_OK) {
147147
return stat;
148148
}
@@ -152,17 +152,17 @@ Fw::SerializeStatus Buffer::deserialize(Fw::SerializeBufferBase& buffer) {
152152
}
153153
#endif
154154
PlatformPointerCastType pointer;
155-
stat = buffer.deserialize(pointer);
155+
stat = buffer.deserializeTo(pointer);
156156
if (stat != Fw::FW_SERIALIZE_OK) {
157157
return stat;
158158
}
159159
this->m_bufferData = reinterpret_cast<U8*>(pointer);
160160

161-
stat = buffer.deserialize(this->m_size);
161+
stat = buffer.deserializeTo(this->m_size);
162162
if (stat != Fw::FW_SERIALIZE_OK) {
163163
return stat;
164164
}
165-
stat = buffer.deserialize(this->m_context);
165+
stat = buffer.deserializeTo(this->m_context);
166166
if (stat != Fw::FW_SERIALIZE_OK) {
167167
return stat;
168168
}
@@ -188,4 +188,13 @@ std::ostream& operator<<(std::ostream& os, const Buffer& obj) {
188188
return os;
189189
}
190190
#endif
191+
192+
Fw::SerializeStatus Buffer::serialize(Fw::SerializeBufferBase& serialBuffer) const {
193+
return this->serializeTo(serialBuffer);
194+
}
195+
196+
Fw::SerializeStatus Buffer::deserialize(Fw::SerializeBufferBase& buffer) {
197+
return this->deserializeFrom(buffer);
198+
}
199+
191200
} // end namespace Fw

Fw/Buffer/Buffer.hpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ class Buffer : public Fw::Serializable {
125125
//! or the serialize buffer base representation and serialize from that.
126126
//! \param serialBuffer: serialize buffer to write data into
127127
//! \return: status of serialization
128-
Fw::SerializeStatus serialize(Fw::SerializeBufferBase& serialBuffer) const;
128+
Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase& serialBuffer) const;
129129

130130
//! Deserializes this buffer from a SerializeBufferBase
131131
//!
@@ -135,6 +135,14 @@ class Buffer : public Fw::Serializable {
135135
//! or the serialize buffer base representation and deserialize from that.
136136
//! \param buffer: serialize buffer to read data into
137137
//! \return: status of serialization
138+
Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase& buffer);
139+
140+
// ----------------------------------------------------------------------
141+
// Deprecated methods
142+
// ----------------------------------------------------------------------
143+
144+
Fw::SerializeStatus serialize(Fw::SerializeBufferBase& serialBuffer) const;
145+
138146
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase& buffer);
139147

140148
// ----------------------------------------------------------------------

Fw/Buffer/docs/sdd.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,15 @@ managed by the caller and only affects the data of the underlying buffer.
7373
U32 my_data = 10001;
7474
U8 my_byte = 2;
7575
auto sb = my_fw_buffer.getSerializer();
76-
sb.serialize(my_data);
77-
sb.serialize(my_byte);
76+
sb.serializeFrom(my_data);
77+
sb.serializeFrom(my_byte);
7878
```
7979

8080
**Deserializing from `Fw::Buffer`**
8181
```c++
8282
U32 my_data = 0;
8383
U8 my_byte = 0;
8484
auto sb = my_fw_buffer.getDeserializer();
85-
sb.deserialize(my_data);
86-
sb.deserialize(my_byte);
85+
sb.deserializeTo(my_data);
86+
sb.deserializeTo(my_byte);
8787
```

Fw/Cmd/CmdPacket.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@ CmdPacket::CmdPacket() : m_opcode(0) {
1717

1818
CmdPacket::~CmdPacket() {}
1919

20-
SerializeStatus CmdPacket::serialize(SerializeBufferBase& buffer) const {
21-
// Shouldn't be called
20+
// New serialization interface methods
21+
SerializeStatus CmdPacket::serializeTo(SerializeBufferBase& buffer) const {
22+
// Shouldn't be called, no use case for serializing CmdPackets in FSW (currently)
2223
FW_ASSERT(0);
2324
return FW_SERIALIZE_OK; // for compiler
2425
}
2526

26-
SerializeStatus CmdPacket::deserialize(SerializeBufferBase& buffer) {
27+
SerializeStatus CmdPacket::deserializeFrom(SerializeBufferBase& buffer) {
2728
SerializeStatus stat = ComPacket::deserializeBase(buffer);
2829
if (stat != FW_SERIALIZE_OK) {
2930
return stat;
@@ -48,6 +49,15 @@ SerializeStatus CmdPacket::deserialize(SerializeBufferBase& buffer) {
4849
return stat;
4950
}
5051

52+
// Deprecated methods for backward compatibility - these call the new interface
53+
SerializeStatus CmdPacket::serialize(SerializeBufferBase& buffer) const {
54+
return this->serializeTo(buffer);
55+
}
56+
57+
SerializeStatus CmdPacket::deserialize(SerializeBufferBase& buffer) {
58+
return this->deserializeFrom(buffer);
59+
}
60+
5161
FwOpcodeType CmdPacket::getOpCode() const {
5262
return this->m_opcode;
5363
}

Fw/Cmd/CmdPacket.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ class CmdPacket : public ComPacket {
1818
CmdPacket();
1919
virtual ~CmdPacket();
2020

21+
// New serialization interface methods
22+
SerializeStatus serializeTo(SerializeBufferBase& buffer) const;
23+
SerializeStatus deserializeFrom(SerializeBufferBase& buffer);
24+
25+
// Legacy serialization methods (backward compatibility)
2126
SerializeStatus serialize(SerializeBufferBase& buffer) const; //!< serialize contents
2227
SerializeStatus deserialize(SerializeBufferBase& buffer);
2328
FwOpcodeType getOpCode() const;

Fw/Com/ComPacket.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,23 @@ SerializeStatus ComPacket::deserializeBase(SerializeBufferBase& buffer) {
2626
return stat;
2727
}
2828

29+
SerializeStatus ComPacket::serializeTo(SerializeBufferBase& buffer) const {
30+
// Default implementation for base class - derived classes should override this method
31+
return FW_SERIALIZE_FORMAT_ERROR;
32+
}
33+
34+
SerializeStatus ComPacket::deserializeFrom(SerializeBufferBase& buffer) {
35+
// Default implementation for base class - derived classes should override this method
36+
return FW_DESERIALIZE_FORMAT_ERROR;
37+
}
38+
39+
// Deprecated methods for backward compatibility
40+
SerializeStatus ComPacket::serialize(SerializeBufferBase& buffer) const {
41+
return this->serializeTo(buffer);
42+
}
43+
44+
SerializeStatus ComPacket::deserialize(SerializeBufferBase& buffer) {
45+
return this->deserializeFrom(buffer);
46+
}
47+
2948
} /* namespace Fw */

Fw/Com/ComPacket.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ class ComPacket : public Serializable {
2424
ComPacket();
2525
virtual ~ComPacket();
2626

27+
// New serialization interface
28+
SerializeStatus serializeTo(SerializeBufferBase& buffer) const override;
29+
SerializeStatus deserializeFrom(SerializeBufferBase& buffer) override;
30+
31+
// Deprecated methods for backward compatibility
32+
SerializeStatus serialize(SerializeBufferBase& buffer) const override;
33+
SerializeStatus deserialize(SerializeBufferBase& buffer) override;
34+
2735
protected:
2836
ComPacketType m_type;
2937
SerializeStatus serializeBase(

Fw/Log/AmpcsEvrLogPacket.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ namespace Fw {
2222
}
2323

2424
SerializeStatus AmpcsEvrLogPacket::serialize(SerializeBufferBase& buffer) const {
25+
// Deprecated method - calls new interface for backward compatibility
26+
return this->serializeTo(buffer);
27+
}
28+
29+
SerializeStatus AmpcsEvrLogPacket::deserialize(SerializeBufferBase& buffer) {
30+
// Deprecated method - calls new interface for backward compatibility
31+
return this->deserializeFrom(buffer);
32+
}
33+
34+
SerializeStatus AmpcsEvrLogPacket::serializeTo(SerializeBufferBase& buffer) const {
2535

2636
SerializeStatus stat;
2737

@@ -49,7 +59,7 @@ namespace Fw {
4959

5060
}
5161

52-
SerializeStatus AmpcsEvrLogPacket::deserialize(SerializeBufferBase& buffer) {
62+
SerializeStatus AmpcsEvrLogPacket::deserializeFrom(SerializeBufferBase& buffer) {
5363
FwSizeType len;
5464

5565
SerializeStatus stat;

Fw/Log/AmpcsEvrLogPacket.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ namespace Fw {
2424
AmpcsEvrLogPacket();
2525
virtual ~AmpcsEvrLogPacket();
2626

27-
SerializeStatus serialize(SerializeBufferBase& buffer) const; //!< serialize contents
28-
SerializeStatus deserialize(SerializeBufferBase& buffer);
27+
SerializeStatus serialize(SerializeBufferBase& buffer) const override; //!< serialize contents
28+
SerializeStatus deserialize(SerializeBufferBase& buffer) override;
29+
30+
SerializeStatus serializeTo(SerializeBufferBase& buffer) const override; //!< serialize contents
31+
SerializeStatus deserializeFrom(SerializeBufferBase& buffer) override;
2932

3033
void setTaskName(U8 *taskName, U8 len);
3134
void setId(U32 eventID);

0 commit comments

Comments
 (0)