/*
    <OUTPUTFILENAME>
    Created <DATE> from:
        Messages = <INPUTFILENAME>
        Template = <TEMPLATEFILENAME>
        Language = <LANGUAGEFILENAME>

                     AUTOGENERATED FILE, DO NOT EDIT

*/
#ifndef <MSGNAME>_H__
#define <MSGNAME>_H__

#include <stdint.h>
#include <cfloat>
#include "FieldAccess.h"

class <MSGNAME>
{
    public:
        auto static constexpr SIZE = <MSGSIZE>;
        <MSGNAME>()
        {
            Init();
        }
        void Init()
        {
            <INIT_CODE>
        }
        <ENUMERATIONS>
        <FIELDINFOS>
        void SetMessageID(MessageIdType id)
        {
            <SETMSGID>;
        }
        MessageIdType GetMessageID()
        {
            return <GETMSGID>;
        }
        <ACCESSORS>
#ifdef ENABLE_REFLECTION
        static MsgInfo* ReflectionInfo()
        {
            static bool firstTime = true;
            static MsgInfo msgInfo(<MSGID>, "<MSGNAME>", "<MSGDESCRIPTION>", SIZE);
            if(firstTime)
            {
                firstTime = false;
                msgInfo.AddField(new <REFLECTION>);
            }
            return &msgInfo;
        }
#endif
    public:
        uint8_t m_data[SIZE];
};

#endif
