/* * File: TransferMessage.h * Author: jgaebler * * Created on May 10, 2012, 10:46 AM */ #pragma once #ifndef TRANSFERMESSAGE_H #define TRANSFERMESSAGE_H #include "common/time/VirtualLogicalTime.h" namespace ubeeme { namespace moversight { class MulticastMessage; /** * @brief The class provides a message, which is used for transfers to and from the cloud. * The containing message is deleted on destruction of the instance of this class. * @class TransferMessage * @author Jan Gäbler * @ingroup Moversight */ class TransferMessage { public: TransferMessage(); TransferMessage(MulticastMessage * m, VirtualLogicalTime const & t); TransferMessage(const TransferMessage & orig); virtual ~TransferMessage(); MulticastMessage * getMessage(); void setMessage(MulticastMessage * m); VirtualLogicalTime const & getTime() const; void setTime(VirtualLogicalTime const & t); TransferMessage & operator=(TransferMessage const & rhs); bool serialize(ByteArray &buffer); bool deserialize(char const *buffer, int size); private: MulticastMessage * message; VirtualLogicalTime time; }; } } #endif /* TRANSFERMESSAGE_H */