Files
2014-06-30 13:58:10 +02:00

62 lines
1.4 KiB
C++

/*
* 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 */