31 lines
803 B
C++
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>();
|
|
|
|
}
|
|
}
|
|
}
|
|
|