// ====================================================================== // \title Modules4SerializableAc.cpp // \author Generated by fpp-to-cpp // \brief cpp file for Modules4 struct // ====================================================================== #include "Fw/Types/Assert.hpp" #include "Modules4SerializableAc.hpp" // ---------------------------------------------------------------------- // Constructors // ---------------------------------------------------------------------- Modules4 :: Modules4() : Serializable() { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = M::Modules2(M::Modules1(0, 0.0f)); } for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = M::Modules2(M::Modules1(0, 0.0f)); } } Modules4 :: Modules4( const Type_of_arr1& arr1, const Type_of_arr2& arr2 ) : Serializable() { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = arr1[i]; } for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = arr2[i]; } } Modules4 :: Modules4(const Modules4& obj) : Serializable() { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = obj.m_arr1[i]; } for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = obj.m_arr2[i]; } } Modules4 :: Modules4( const M::Modules2& arr1, const M::Modules2& arr2 ) : Serializable() { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = arr1; } for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = arr2; } } // ---------------------------------------------------------------------- // Operators // ---------------------------------------------------------------------- Modules4& Modules4 :: operator=(const Modules4& obj) { if (this == &obj) { return *this; } set(obj.m_arr1, obj.m_arr2); return *this; } bool Modules4 :: operator==(const Modules4& obj) const { if (this == &obj) { return true; } // Compare array members for (FwSizeType i = 0; i < 3; i++) { if (!(this->m_arr1[i] == obj.m_arr1[i])) { return false; } } for (FwSizeType i = 0; i < 6; i++) { if (!(this->m_arr2[i] == obj.m_arr2[i])) { return false; } } return true; } bool Modules4 :: operator!=(const Modules4& obj) const { return !(*this == obj); } #ifdef BUILD_UT std::ostream& operator<<(std::ostream& os, const Modules4& obj) { Fw::String s; obj.toString(s); os << s.toChar(); return os; } #endif // ---------------------------------------------------------------------- // Member functions // ---------------------------------------------------------------------- Fw::SerializeStatus Modules4 :: serialize(Fw::SerializeBufferBase& buffer) const { Fw::SerializeStatus status; for (FwSizeType i = 0; i < 3; i++) { status = buffer.serialize(this->m_arr1[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } for (FwSizeType i = 0; i < 6; i++) { status = buffer.serialize(this->m_arr2[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } return status; } Fw::SerializeStatus Modules4 :: deserialize(Fw::SerializeBufferBase& buffer) { Fw::SerializeStatus status; for (FwSizeType i = 0; i < 3; i++) { status = buffer.deserialize(this->m_arr1[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } for (FwSizeType i = 0; i < 6; i++) { status = buffer.deserialize(this->m_arr2[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } return status; } #if FW_SERIALIZABLE_TO_STRING void Modules4 :: toString(Fw::StringBase& sb) const { static const char* formatString = "( " "arr1 = [ %s ], " "arr2 = [ %s ]" " )"; // Declare strings to hold any serializable toString() arguments Fw::String arr1Str; Fw::String arr2Str; // Call toString for arrays and serializable types for (FwSizeType i = 0; i < 3; i++) { Fw::String arr1Tmp; this->m_arr1[i].toString(arr1Tmp); FwSizeType size = arr1Tmp.length() + (i > 0 ? 2 : 0); if (size + arr1Str.length() < arr1Str.maxLength()) { if (i > 0) { arr1Str += ", "; } arr1Str += arr1Tmp; } else { break; } } for (FwSizeType i = 0; i < 6; i++) { Fw::String arr2Tmp; this->m_arr2[i].toString(arr2Tmp); FwSizeType size = arr2Tmp.length() + (i > 0 ? 2 : 0); if (size + arr2Str.length() < arr2Str.maxLength()) { if (i > 0) { arr2Str += ", "; } arr2Str += arr2Tmp; } else { break; } } sb.format( formatString, arr1Str.toChar(), arr2Str.toChar() ); } #endif // ---------------------------------------------------------------------- // Setter functions // ---------------------------------------------------------------------- void Modules4 :: set( const Type_of_arr1& arr1, const Type_of_arr2& arr2 ) { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = arr1[i]; } for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = arr2[i]; } } void Modules4 :: setarr1(const Type_of_arr1& arr1) { for (FwSizeType i = 0; i < 3; i++) { this->m_arr1[i] = arr1[i]; } } void Modules4 :: setarr2(const Type_of_arr2& arr2) { for (FwSizeType i = 0; i < 6; i++) { this->m_arr2[i] = arr2[i]; } }