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::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); } }
void CWizKbSync::onQueryDocumentInfo(const WIZDOCUMENTDATABASE& data) { int nParts = calDocumentParts(data, m_currentUploadDocument); if (0 == nParts) { onUploadDocument(m_currentUploadDocument); } else { m_currentUploadDocument.nObjectPart = nParts; uploadDocument(m_currentUploadDocument); } }
void CWizApi::onDocumentPostData(const WIZDOCUMENTDATAEX& data) { //Q_ASSERT(data.strGUID == m_currentDocument.strGUID); onUploadDocument(m_currentDocument); }