#pragma once

#include "NetMsg.h"
#ifdef AFTR_CONFIG_USE_BOOST

namespace Aftr
{
   //This is a generic net message that can be used to simply wrap *all* other NetMsgs.
   //One simply places an entire message in a std::string and then prepends a 1 and the string
   //length to the string.
   //For example, if one wanted to send only a single string from Python to AftrBurner, and the
   //desired NetMsg to send was NetMsg
   class NetMsgGeneric : public NetMsg
   {
   public:
      NetMsgMacroDeclaration( NetMsgGeneric );

      NetMsgGeneric();
      virtual ~NetMsgGeneric();
      virtual bool toStream( NetMessengerStreamBuffer& os ) const override;
      virtual bool fromStream( NetMessengerStreamBuffer& is ) override;
      virtual void onMessageArrived() override;
      virtual std::string toString() const override;

      std::string messageStrToCreate;

   protected:

   };

} //namespace Aftr

#endif
