#pragma once #ifndef MULTICASTMESSAGE_H #define MULTICASTMESSAGE_H #include "common/Defines.h" #include "common/transport/msg/MoversightMessage.h" #include "common/transport/MoversightMessageTypes.h" namespace ubeeme { namespace moversight { /** * @brief Defines a base class for multicast messages within moversight. * @author Jan Gäbler, Robert Noack * @class MulticastMessage * @ingroup Moversight */ class MulticastMessage : public MoversightMessage { public: typedef std::shared_ptr shared_ptr; typedef std::unique_ptr unique_ptr; virtual ~MulticastMessage(); virtual MulticastMessage& operator=( const MulticastMessage& other); virtual MulticastMessage* dup() const; virtual void set(Archive &archive); protected: MulticastMessage( const std::string& name, MoversightMessageType type); MulticastMessage( const MulticastMessage& other); }; } } #endif // MULTICASTMESSAGE_H