// ====================================================================== // \title PrimitiveSerializableAc.cpp // \author Generated by fpp-to-cpp // \brief cpp file for Primitive struct // ====================================================================== #include "cstdio" #include "cstring" #include "Fw/Types/Assert.hpp" #include "Fw/Types/StringUtils.hpp" #include "PrimitiveSerializableAc.hpp" // ---------------------------------------------------------------------- // StringSize80 class // ---------------------------------------------------------------------- Primitive::StringSize80 :: StringSize80() : StringBase() { this->m_buf[0] = 0; } Primitive::StringSize80 :: StringSize80(const char* src) : StringBase() { Fw::StringUtils::string_copy(this->m_buf, src, sizeof(this->m_buf)); } Primitive::StringSize80 :: StringSize80(const Fw::StringBase& src) : StringBase() { Fw::StringUtils::string_copy(this->m_buf, src.toChar(), sizeof(this->m_buf)); } Primitive::StringSize80 :: StringSize80(const StringSize80& src) : StringBase() { Fw::StringUtils::string_copy(this->m_buf, src.toChar(), sizeof(this->m_buf)); } Primitive::StringSize80 :: ~StringSize80() { } Primitive::StringSize80& Primitive::StringSize80 :: operator=(const StringSize80& other) { if (this == &other) { return *this; } Fw::StringUtils::string_copy(this->m_buf, other.toChar(), sizeof(this->m_buf)); return *this; } Primitive::StringSize80& Primitive::StringSize80 :: operator=(const Fw::StringBase& other) { if (this == &other) { return *this; } Fw::StringUtils::string_copy(this->m_buf, other.toChar(), sizeof(this->m_buf)); return *this; } Primitive::StringSize80& Primitive::StringSize80 :: operator=(const char* other) { Fw::StringUtils::string_copy(this->m_buf, other, sizeof(this->m_buf)); return *this; } const char* Primitive::StringSize80 :: toChar() const { return this->m_buf; } NATIVE_UINT_TYPE Primitive::StringSize80 :: getCapacity() const { return sizeof(this->m_buf); } // ---------------------------------------------------------------------- // Constructors // ---------------------------------------------------------------------- Primitive :: Primitive() : Serializable(), m_memberF64(0.0), m_memberI16(0), m_memberI32(0), m_memberI64(0), m_memberI8(0), m_memberU16(0), m_memberU32(0), m_memberU64(0), m_memberU8(0), m_memberBool(false), m_memberString("") { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = 0.0f; } } Primitive :: Primitive( const Type_of_memberF32& memberF32, F64 memberF64, I16 memberI16, I32 memberI32, I64 memberI64, I8 memberI8, U16 memberU16, U32 memberU32, U64 memberU64, U8 memberU8, bool memberBool, const StringSize80& memberString ) : Serializable(), m_memberF64(memberF64), m_memberI16(memberI16), m_memberI32(memberI32), m_memberI64(memberI64), m_memberI8(memberI8), m_memberU16(memberU16), m_memberU32(memberU32), m_memberU64(memberU64), m_memberU8(memberU8), m_memberBool(memberBool), m_memberString(memberString) { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = memberF32[i]; } } Primitive :: Primitive(const Primitive& obj) : Serializable(), m_memberF64(obj.m_memberF64), m_memberI16(obj.m_memberI16), m_memberI32(obj.m_memberI32), m_memberI64(obj.m_memberI64), m_memberI8(obj.m_memberI8), m_memberU16(obj.m_memberU16), m_memberU32(obj.m_memberU32), m_memberU64(obj.m_memberU64), m_memberU8(obj.m_memberU8), m_memberBool(obj.m_memberBool), m_memberString(obj.m_memberString) { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = obj.m_memberF32[i]; } } Primitive :: Primitive( F32 memberF32, F64 memberF64, I16 memberI16, I32 memberI32, I64 memberI64, I8 memberI8, U16 memberU16, U32 memberU32, U64 memberU64, U8 memberU8, bool memberBool, const StringSize80& memberString ) : Serializable(), m_memberF64(memberF64), m_memberI16(memberI16), m_memberI32(memberI32), m_memberI64(memberI64), m_memberI8(memberI8), m_memberU16(memberU16), m_memberU32(memberU32), m_memberU64(memberU64), m_memberU8(memberU8), m_memberBool(memberBool), m_memberString(memberString) { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = memberF32; } } // ---------------------------------------------------------------------- // Operators // ---------------------------------------------------------------------- Primitive& Primitive :: operator=(const Primitive& obj) { if (this == &obj) { return *this; } set(obj.m_memberF32, obj.m_memberF64, obj.m_memberI16, obj.m_memberI32, obj.m_memberI64, obj.m_memberI8, obj.m_memberU16, obj.m_memberU32, obj.m_memberU64, obj.m_memberU8, obj.m_memberBool, obj.m_memberString); return *this; } bool Primitive :: operator==(const Primitive& obj) const { // Compare non-array members if (!( (this->m_memberF64 == obj.m_memberF64) && (this->m_memberI16 == obj.m_memberI16) && (this->m_memberI32 == obj.m_memberI32) && (this->m_memberI64 == obj.m_memberI64) && (this->m_memberI8 == obj.m_memberI8) && (this->m_memberU16 == obj.m_memberU16) && (this->m_memberU32 == obj.m_memberU32) && (this->m_memberU64 == obj.m_memberU64) && (this->m_memberU8 == obj.m_memberU8) && (this->m_memberBool == obj.m_memberBool) && (this->m_memberString == obj.m_memberString) )) { return false; } // Compare array members if (!(this->m_memberF32 == obj.m_memberF32)) { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { if (!(this->m_memberF32[i] == obj.m_memberF32[i])) { return false; } } } return true; } bool Primitive :: operator!=(const Primitive& obj) const { return !(*this == obj); } #ifdef BUILD_UT std::ostream& operator<<(std::ostream& os, const Primitive& obj) { Fw::String s; obj.toString(s); os << s.toChar(); return os; } #endif // ---------------------------------------------------------------------- // Member functions // ---------------------------------------------------------------------- Fw::SerializeStatus Primitive :: serialize(Fw::SerializeBufferBase& buffer) const { Fw::SerializeStatus status; for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { status = buffer.serialize(this->m_memberF32[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } status = buffer.serialize(this->m_memberF64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberI16); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberI32); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberI64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberI8); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberU16); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberU32); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberU64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberU8); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberBool); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.serialize(this->m_memberString); if (status != Fw::FW_SERIALIZE_OK) { return status; } return status; } Fw::SerializeStatus Primitive :: deserialize(Fw::SerializeBufferBase& buffer) { Fw::SerializeStatus status; for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { status = buffer.deserialize(this->m_memberF32[i]); if (status != Fw::FW_SERIALIZE_OK) { return status; } } status = buffer.deserialize(this->m_memberF64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberI16); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberI32); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberI64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberI8); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberU16); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberU32); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberU64); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberU8); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberBool); if (status != Fw::FW_SERIALIZE_OK) { return status; } status = buffer.deserialize(this->m_memberString); if (status != Fw::FW_SERIALIZE_OK) { return status; } return status; } #if FW_SERIALIZABLE_TO_STRING void Primitive :: toString(Fw::StringBase& sb) const { static const char* formatString = "( " "m_memberF32 = [ %f, " "%f, " "%f ], " "m_memberF64 = %f, " "m_memberI16 = %" PRIi16 ", " "m_memberI32 = %" PRIi32 ", " "m_memberI64 = %" PRIi64 ", " "m_memberI8 = %" PRIi8 ", " "m_memberU16 = %" PRIu16 ", " "m_memberU32 = %" PRIu32 ", " "m_memberU64 = %" PRIu64 ", " "m_memberU8 = %" PRIu8 ", " "m_memberBool = %d, " "m_memberString = %s" " )"; char outputString[FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE]; (void) snprintf( outputString, FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE, formatString, this->m_memberF32[0], this->m_memberF32[1], this->m_memberF32[2], this->m_memberF64, this->m_memberI16, this->m_memberI32, this->m_memberI64, this->m_memberI8, this->m_memberU16, this->m_memberU32, this->m_memberU64, this->m_memberU8, this->m_memberBool, this->m_memberString.toChar() ); outputString[FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE-1] = 0; // NULL terminate sb = outputString; } #endif // ---------------------------------------------------------------------- // Setter functions // ---------------------------------------------------------------------- void Primitive :: set( const Type_of_memberF32& memberF32, F64 memberF64, I16 memberI16, I32 memberI32, I64 memberI64, I8 memberI8, U16 memberU16, U32 memberU32, U64 memberU64, U8 memberU8, bool memberBool, const StringSize80& memberString ) { this->m_memberF64 = memberF64; this->m_memberI16 = memberI16; this->m_memberI32 = memberI32; this->m_memberI64 = memberI64; this->m_memberI8 = memberI8; this->m_memberU16 = memberU16; this->m_memberU32 = memberU32; this->m_memberU64 = memberU64; this->m_memberU8 = memberU8; this->m_memberBool = memberBool; this->m_memberString = memberString; for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = memberF32[i]; } } void Primitive :: setmemberF32(const Type_of_memberF32& memberF32) { for (NATIVE_UINT_TYPE i = 0; i < 3; i++) { this->m_memberF32[i] = memberF32[i]; } } void Primitive :: setmemberF64(F64 memberF64) { this->m_memberF64 = memberF64; } void Primitive :: setmemberI16(I16 memberI16) { this->m_memberI16 = memberI16; } void Primitive :: setmemberI32(I32 memberI32) { this->m_memberI32 = memberI32; } void Primitive :: setmemberI64(I64 memberI64) { this->m_memberI64 = memberI64; } void Primitive :: setmemberI8(I8 memberI8) { this->m_memberI8 = memberI8; } void Primitive :: setmemberU16(U16 memberU16) { this->m_memberU16 = memberU16; } void Primitive :: setmemberU32(U32 memberU32) { this->m_memberU32 = memberU32; } void Primitive :: setmemberU64(U64 memberU64) { this->m_memberU64 = memberU64; } void Primitive :: setmemberU8(U8 memberU8) { this->m_memberU8 = memberU8; } void Primitive :: setmemberBool(bool memberBool) { this->m_memberBool = memberBool; } void Primitive :: setmemberString(const StringSize80& memberString) { this->m_memberString = memberString; }