bool CWizApi::uploadDocument(const WIZDOCUMENTDATAEX& data) { Q_ASSERT(data.nObjectPart != 0); int nParts = data.nObjectPart; bool bInfo = (nParts & WIZKM_XMKRPC_DOCUMENT_PART_INFO) ? true : false; bool bParam = (nParts & WIZKM_XMKRPC_DOCUMENT_PART_PARAM) ? true : false; bool bData = (nParts & WIZKM_XMKRPC_DOCUMENT_PART_DATA) ? true : false; m_currentDocument = data; m_db->GetDocumentTags(m_currentDocument.strGUID, m_currentDocument.arrayTagGUID); m_db->GetDocumentParams(m_currentDocument.strGUID, m_currentDocument.arrayParam); if (bData) { if (!m_db->LoadDocumentData(m_currentDocument.strGUID, m_currentDocument.arrayData)) { QString info = data.strTitle; Q_EMIT processErrorLog(tr("could not load document data: ") + info); //skip onUploadDocument(data); return false; } WIZOBJECTDATA obj; obj.strObjectGUID = m_currentDocument.strGUID; obj.strDisplayName = m_currentDocument.strTitle; obj.eObjectType = wizobjectDocument; obj.arrayData = m_currentDocument.arrayData; return uploadObjectData(obj); } else { return callDocumentPostData(m_currentDocument); } }
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); } }
bool CWizApi::uploadDocument(const WIZDOCUMENTDATAEX& data) { m_currentDocument = data; int nParts = m_currentDocument.nObjectPart; Q_ASSERT(0 != nParts); bool bData = (nParts & WIZKM_XMKRPC_DOCUMENT_PART_DATA) ? true : false; if (bData) { if (!m_db.LoadDocumentData(m_currentDocument.strGUID, m_currentDocument.arrayData)) { //skip this document QString info = data.strTitle; Q_EMIT processErrorLog(tr("could not load document data: ") + info); onUploadDocument(data); //skip return false; } WIZOBJECTDATA obj; obj.strObjectGUID = m_currentDocument.strGUID; obj.strDisplayName = m_currentDocument.strTitle; obj.eObjectType = wizobjectDocument; obj.arrayData = m_currentDocument.arrayData; return uploadObjectData(obj); } else { return callDocumentPostData(m_currentDocument); } }