Example #1
0
bool CWizApi::uploadAttachment(const WIZDOCUMENTATTACHMENTDATAEX& data)
{
    Q_ASSERT(data.nObjectPart != 0);

    int nParts = data.nObjectPart;
    bool bData = (nParts & WIZKM_XMKRPC_ATTACHMENT_PART_DATA) ? true : false;

    m_currentAttachment = data;
    if (bData) {
        if (!m_db->LoadCompressedAttachmentData(m_currentAttachment.strGUID, m_currentAttachment.arrayData)) {
            QString info = data.strName;
            Q_EMIT processErrorLog(tr("Could not load attachment data: ") + info);

            //skip
            onUploadAttachment(data);

            //re-upload attachment at next time
            m_db->ModifyObjectVersion(data.strGUID, WIZDOCUMENTATTACHMENTDATAEX::ObjectName(), -1);
            return false;
        }

        WIZOBJECTDATA obj;
        obj.strObjectGUID = m_currentAttachment.strGUID;
        obj.strDisplayName = m_currentAttachment.strName;
        obj.eObjectType = wizobjectDocumentAttachment;
        obj.arrayData = m_currentAttachment.arrayData;

        return uploadObjectData(obj);
    } else {
        return callAttachmentPostData(data);
    }
}
Example #2
0
void CWizKbSync::onQueryAttachmentInfo(const WIZDOCUMENTATTACHMENTDATA& data)
{
    int nParts = calAttachmentParts(data, m_currentUploadAttachment);
    if (0 == nParts) {
        onUploadAttachment(m_currentUploadAttachment);
    } else {
        m_currentUploadAttachment.nObjectPart = nParts;
        uploadAttachment(m_currentUploadAttachment);
    }
}
Example #3
0
void CWizApi::onAttachmentPostData(const WIZDOCUMENTATTACHMENTDATAEX& data)
{
    Q_ASSERT(data.strGUID == m_currentAttachment.strGUID);
    onUploadAttachment(m_currentAttachment);
}