// ====================================================================== // \title E1EnumAc.cpp // \author Generated by fpp-to-cpp // \brief cpp file for E1 enum // ====================================================================== #include #include #include "Fw/Types/Assert.hpp" #include "E1EnumAc.hpp" namespace M { // ---------------------------------------------------------------------- // Operators // ---------------------------------------------------------------------- E1& E1 :: operator=(const E1& obj) { this->e = obj.e; return *this; } E1& E1 :: operator=(T e1) { this->e = e1; return *this; } #ifdef BUILD_UT std::ostream& operator<<(std::ostream& os, const E1& obj) { Fw::String s; obj.toString(s); os << s; return os; } #endif // ---------------------------------------------------------------------- // Member functions // ---------------------------------------------------------------------- bool E1 :: isValid() const { return ((e >= X) && (e <= Y)) || ((e >= Z) && (e <= Z)); } Fw::SerializeStatus E1 :: serializeTo( Fw::LinearBufferBase& buffer, Fw::Endianness mode ) const { const Fw::SerializeStatus status = buffer.serializeFrom( static_cast(this->e), mode ); return status; } Fw::SerializeStatus E1 :: deserializeFrom( Fw::LinearBufferBase& buffer, Fw::Endianness mode ) { SerialType es; Fw::SerializeStatus status = buffer.deserializeTo(es, mode); if (status == Fw::FW_SERIALIZE_OK) { this->e = static_cast(es); if (!this->isValid()) { status = Fw::FW_DESERIALIZE_FORMAT_ERROR; } } return status; } #if FW_SERIALIZABLE_TO_STRING void E1 :: toString(Fw::StringBase& sb) const { Fw::String s; switch (e) { case X: s = "X"; break; case Y: s = "Y"; break; case Z: s = "Z"; break; default: s = "[invalid]"; break; } sb.format("%s (%" PRIi32 ")", s.toChar(), e); } #elif FW_ENABLE_TEXT_LOGGING void E1 :: toString(Fw::StringBase& sb) const { sb.format("%" PRIi32 "", e); } #endif }