本文整理汇总了C++中DataStore::removeItemParts方法的典型用法代码示例。如果您正苦于以下问题:C++ DataStore::removeItemParts方法的具体用法?C++ DataStore::removeItemParts怎么用?C++ DataStore::removeItemParts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataStore
的用法示例。
在下文中一共展示了DataStore::removeItemParts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseStream
//.........这里部分代码省略.........
if (cmd.modifiedParts() & Protocol::ModifyItemsCommand::RemovedFlags) {
if (!deleteFlags(pimItems, cmd.removedFlags(), flagsChanged)) {
return failureResponse("Unable to remove item flags");
}
}
if (cmd.modifiedParts() & Protocol::ModifyItemsCommand::Flags) {
if (!replaceFlags(pimItems, cmd.flags(), flagsChanged)) {
return failureResponse("Unable to reset flags");
}
}
if (flagsChanged) {
changes << AKONADI_PARAM_FLAGS;
}
if (cmd.modifiedParts() & Protocol::ModifyItemsCommand::AddedTags) {
if (!addTags(pimItems, cmd.addedTags(), tagsChanged)) {
return failureResponse("Unable to add item tags");
}
}
if (cmd.modifiedParts() & Protocol::ModifyItemsCommand::RemovedTags) {
if (!deleteTags(pimItems, cmd.removedTags(), tagsChanged)) {
return failureResponse("Unabel to remove item tags");
}
}
if (cmd.modifiedParts() & Protocol::ModifyItemsCommand::Tags) {
if (!replaceTags(pimItems, cmd.tags(), tagsChanged)) {
return failureResponse("Unable to reset item tags");
}
}
if (tagsChanged) {
changes << AKONADI_PARAM_TAGS;
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::RemoteID) {
if (item.remoteId() != cmd.remoteId()) {
if (!connection()->isOwnerResource(item)) {
return failureResponse("Only resources can modify remote identifiers");
}
item.setRemoteId(cmd.remoteId());
changes << AKONADI_PARAM_REMOTEID;
}
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::GID) {
if (item.gid() != cmd.gid()) {
item.setGid(cmd.gid());
}
changes << AKONADI_PARAM_GID;
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::RemoteRevision) {
if (item.remoteRevision() != cmd.remoteRevision()) {
if (!connection()->isOwnerResource(item)) {
return failureResponse("Only resources can modify remote revisions");
}
item.setRemoteRevision(cmd.remoteRevision());
changes << AKONADI_PARAM_REMOTEREVISION;
}
}
if (item.isValid() && !cmd.dirty()) {
item.setDirty(false);
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::Size) {
size = cmd.itemSize();
changes << AKONADI_PARAM_SIZE;
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::RemovedParts) {
if (!cmd.removedParts().isEmpty()) {
if (!store->removeItemParts(item, cmd.removedParts())) {
return failureResponse("Unable to remove item parts");
}
Q_FOREACH (const QByteArray &part, cmd.removedParts()) {
changes.insert(part);
}
}
}
if (item.isValid() && cmd.modifiedParts() & Protocol::ModifyItemsCommand::Parts) {
PartStreamer streamer(connection(), item, this);
connect(&streamer, &PartStreamer::responseAvailable,
this, static_cast<void(Handler::*)(const Protocol::Command &)>(&Handler::sendResponse));
Q_FOREACH (const QByteArray &partName, cmd.parts()) {
qint64 partSize = 0;
if (!streamer.stream(true, partName, partSize)) {
return failureResponse(streamer.error());
}
changes.insert(partName);
partSizes += partSize;
}
}