本文整理汇总了C++中QXmppMessage::setThread方法的典型用法代码示例。如果您正苦于以下问题:C++ QXmppMessage::setThread方法的具体用法?C++ QXmppMessage::setThread怎么用?C++ QXmppMessage::setThread使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QXmppMessage
的用法示例。
在下文中一共展示了QXmppMessage::setThread方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: executeCommand
bool XMPPChatMarkerCommand::executeCommand(QStringList * const arguments)
{
bool ret = false;
if (arguments->length() not_eq 2)
{
this->client->write(tr("ERROR: xmppChatMarker <resource> <marker>") + "\r\n");
}
else
{
const QString resource = arguments->first();
QXmppClient * const client =
XMPPResourceStore::instance()->getFromStore(resource);
arguments->removeFirst();
if (client)
{
QSharedPointer<QXmppStanza> lastStanza
= XMPPResourceStore::instance()->getLastMessageReceived(
client);
if (lastStanza)
{
const QSharedPointer<QXmppMessage> lastMsg
= lastStanza.dynamicCast<QXmppMessage>();
if (lastMsg and lastMsg->isMarkable())
{
bool markerOk = true;
QXmppMessage::Marker msgMarker;
const QString marker = arguments->first();
arguments->removeFirst();
if (marker == "received")
{
msgMarker = QXmppMessage::Received;
}
else if (marker == "displayed")
{
msgMarker = QXmppMessage::Displayed;
}
else if (marker == "acknowledged")
{
msgMarker = QXmppMessage::Acknowledged;
}
else
{
markerOk = false;
}
if (markerOk)
{
QXmppMessage markerMessage;
markerMessage.setId(QUuid::createUuid().toString());
markerMessage.setThread("");
markerMessage.setMarkable(false);
markerMessage.setTo(lastMsg->from());
markerMessage.setMarker(msgMarker, lastMsg->id());
markerMessage.addHint(QXmppMessage::AllowPermantStorage);
if (XMPPDebugCommand::isDebugEnabled())
{
XMPPPrintCommand::printMessage(
true,
&markerMessage);
}
ret = client->sendPacket(markerMessage);
if (not ret)
{
this->client->write(tr("ERROR: Failed to send packet") + "\r\n");
}
else
{
XMPPResourceStore::instance()->setLastMessageSent(
client,
markerMessage);
}
}
else
{
this->client->write(tr("ERROR: Invalid marker") + "\r\n");
}
}
else
{
this->client->write(tr("ERROR: The last message isn't Markable") + "\r\n");
}
}
else
{
this->client->write(tr("ERROR: Can't find the last message received to mark")
+ "\r\n");
}
}
else
{
this->client->write(tr("ERROR: Unknown resource") + "\r\n");
}
}
return ret;
}