Files
scandocs/uni/masterarbeit/source/moversight/app/events/GroupMessageFactory.cc
2014-06-30 13:58:10 +02:00

31 lines
803 B
C++

#include "GroupMessageFactory.h"
namespace ubeeme
{
namespace moversight
{
GroupMessageFactory::~GroupMessageFactory() {}
QSharedPointer<GroupMessage>
GroupMessageFactory::createMessage(ByteArray const &buffer, PeerID const &from)
{
char const *start = buffer.data();
int size = buffer.size();
int type = validateHeader(start, size);
if (type != MessageHeader<PeerID>::UNKNOWN_MESSAGE_TYPE) {
QSharedPointer<GroupMessage> message = internalCreateMessage(type, start, size);
if (!message.isNull()) {
message->setFrom(from);
}
return message;
}
return QSharedPointer<GroupMessage>();
}
}
}