Exemplo n.º 1
0
void CWizKbSync::startSync(const QString& strKbGUID)
{
    Q_ASSERT(!strKbGUID.isEmpty());

    if (m_bSyncStarted)
        return;

    m_bSyncStarted = true;
    m_error = false;

    m_bChained = false;

    m_arrayAllDeletedsDownloaded.clear();
    m_arrayAllDeletedsNeedToBeUploaded.clear();
    m_arrayAllTagsDownloaded.clear();
    m_arrayAllTagsNeedToBeUploaded.clear();
    m_arrayAllStylesDownloaded.clear();
    m_arrayAllStylesNeedToBeUploaded.clear();

    m_arrayAllDocumentsNeedToBeDownloaded.clear();
    m_nDocumentMaxVersion = -1;
    m_bDocumentInfoError = false;

    m_arrayAllDocumentsNeedToBeUploaded.clear();
    m_currentUploadDocument = WIZDOCUMENTDATAEX();

    m_arrayAllAttachmentsDownloaded.clear();

    m_arrayAllAttachmentsNeedToBeUploaded.clear();
    m_currentUploadAttachment = WIZDOCUMENTATTACHMENTDATAEX();

    m_arrayAllObjectsNeedToBeDownloaded.clear();

    Q_EMIT progressChanged(progressStart);

    setKbUrl(database()->server());

    if (!strKbGUID.isEmpty())
        setKbGUID(strKbGUID);

    startUploadDeleteds();
}
Exemplo n.º 2
0
void CWizKbSync::startSync(const QString& strKbGUID)
{
    Q_ASSERT(!strKbGUID.isEmpty());

    if (m_bSyncStarted)
        return;

    m_bSyncStarted = true;
    m_error = false;

    m_arrayAllDeletedsDownloaded.clear();
    m_arrayAllDeletedsNeedToBeUploaded.clear();
    m_arrayAllTagsDownloaded.clear();
    m_arrayAllTagsNeedToBeUploaded.clear();
    m_arrayAllStylesDownloaded.clear();
    m_arrayAllStylesNeedToBeUploaded.clear();

    m_arrayAllDocumentsNeedToBeDownloaded.clear();
    m_nDocumentMaxVersion = -1;
    m_bDocumentInfoError = false;

    m_arrayAllDocumentsNeedToBeUploaded.clear();
    m_currentUploadDocument = WIZDOCUMENTDATAEX();

    m_arrayAllAttachmentsDownloaded.clear();

    m_arrayAllAttachmentsNeedToBeUploaded.clear();
    m_currentUploadAttachment = WIZDOCUMENTATTACHMENTDATAEX();

    m_arrayAllObjectsNeedToBeDownloaded.clear();

    setKbUrl(database()->server());

    if (!strKbGUID.isEmpty())
        setKbGUID(strKbGUID);

    qDebug() << "\n\n[Syncing]Begin Syncing, database: " << database()->name();

    startUploadDeleteds();
}
void CWizDownloadObjectData::startDownloadObjectData()
{
    setKbGUID(m_data.strKbGUID);
    downloadObjectData(m_data);
}
Exemplo n.º 4
0
void CWizApiBase::onXmlRpcReturn(const QString& strMethodName, CWizXmlRpcValue& ret)
{
    if (strMethodName == SyncMethod_ClientLogin)
    {
        qDebug() << "[XML-RPC]accounts.clientLogin:\n" << ret.ToString();

        WIZUSERINFO userInfo;

        // pass empty kbguid here is ok
        if (!ret.ToData<WIZUSERINFO>(userInfo, kbGUID())) {
            return;
        }

        // save user info
        WizGlobal()->setUserInfo(userInfo);

        // set kbguid
        setKbGUID(userInfo.strKbGUID);

        onClientLogin(userInfo);

        Q_EMIT clientLoginDone();
    }
    else if (strMethodName == SyncMethod_ClientKeepAlive)
    {
        // set kbguid
        setKbGUID(WizGlobal()->userInfo().strKbGUID);

        onClientLogin(WizGlobal()->userInfo());

        Q_EMIT clientLoginDone();

    }
    else if (strMethodName == SyncMethod_ClientLogout)
    {
        onClientLogout();

        Q_EMIT clientLogoutDone();
    }
    else if (strMethodName == SyncMethod_CreateAccount)
    {
        onCreateAccount();
    }
    else if (strMethodName == SyncMethod_GetUserInfo)
    {
        onGetUserInfo(ret);
    }
    else if (strMethodName == SyncMethod_GetUserCert)
    {
        WIZUSERCERT data;
        ret.ToData(data, kbGUID());
        onGetUserCert(data);
    }
    else if (strMethodName == SyncMethod_GetGroupList)
    {
        qDebug() << "[XML-RPC]accounts.getGroupKbList:\n" << ret.ToString();

        std::deque<WIZGROUPDATA> arrayGroup;
        ret.ToArray<WIZGROUPDATA>(arrayGroup, kbGUID());
        onGetGroupList(arrayGroup);

        Q_EMIT getGroupListDone(arrayGroup);
    }
    // deleteds
    else if (strMethodName == SyncMethod_GetDeletedList)
    {
        std::deque<WIZDELETEDGUIDDATA> arrayData;
        ret.ToArray<WIZDELETEDGUIDDATA>(arrayData, kbGUID());
        onDeletedGetList(arrayData);
    }
    else if (strMethodName == SyncMethod_PostDeletedList)
    {
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            CWizDeletedGUIDDataArray arrayDeleted;
            onDeletedPostList(arrayDeleted);
        } else {
            onDeletedPostList(m_arrayCurrentPostDeletedGUID);
        }
    }
    // tags
    else if (strMethodName == SyncMethod_GetTagList)
    {
        std::deque<WIZTAGDATA> arrayData;
        ret.ToArray<WIZTAGDATA>(arrayData, kbGUID());
        onTagGetList(arrayData);
    }
    else if (strMethodName == SyncMethod_PostTagList)
    {
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            CWizTagDataArray arrayTag;
            onTagPostList(arrayTag);
        } else {
            onTagPostList(m_arrayCurrentPostTag);
        }
    }
    // styles
    else if (strMethodName == SyncMethod_GetStyleList)
    {
        std::deque<WIZSTYLEDATA> arrayData;
        ret.ToArray<WIZSTYLEDATA>(arrayData, kbGUID());
        onStyleGetList(arrayData);
    }
    else if (strMethodName == SyncMethod_PostStyleList)
    {
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            CWizStyleDataArray arrayStyle;
            onStylePostList(arrayStyle);
        } else {
            onStylePostList(m_arrayCurrentPostStyle);
        }
    }
    // documents
    else if (strMethodName == SyncMethod_GetDocumentList)
    {
        std::deque<WIZDOCUMENTDATABASE> arrayData;
        ret.ToArray<WIZDOCUMENTDATABASE>(arrayData, kbGUID());
        onDocumentGetList(arrayData);
    }
    else if (strMethodName == SyncMethod_GetDocumentsInfo)
    {
        std::deque<WIZDOCUMENTDATABASE> arrayData;
        ret.ToArray<WIZDOCUMENTDATABASE>(arrayData, kbGUID());
        onDocumentsGetInfo(arrayData);
    }
    else if (strMethodName == SyncMethod_GetDocumentData)
    {
        WIZDOCUMENTDATAEX data;
        ret.ToData(data, kbGUID());
        onDocumentGetData(data);
    }
    else if (strMethodName == SyncMethod_PostDocumentData)
    {
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            WIZDOCUMENTDATAEX doc;
            onDocumentPostData(doc);
        } else {
            onDocumentPostData(m_currentDocument);
        }
    }
    // attachments
    else if (strMethodName == SyncMethod_GetAttachmentList)
    {
        std::deque<WIZDOCUMENTATTACHMENTDATAEX> arrayData;
        ret.ToArray<WIZDOCUMENTATTACHMENTDATAEX>(arrayData, kbGUID());
        onAttachmentGetList(arrayData);
    }
    else if (strMethodName == SyncMethod_GetAttachmentsInfo)
    {
        std::deque<WIZDOCUMENTATTACHMENTDATAEX> arrayData;
        ret.ToArray<WIZDOCUMENTATTACHMENTDATAEX>(arrayData, kbGUID());
        onAttachmentsGetInfo(arrayData);
    }
    else if (strMethodName == SyncMethod_PostAttachmentData)
    {
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            WIZDOCUMENTATTACHMENTDATAEX data;
            onAttachmentPostData(data);
        } else {
            onAttachmentPostData(m_currentAttachment);
        }
    }
    // trunk data
    else if (strMethodName == SyncMethod_DownloadObjectPart)
    {
        WIZOBJECTPARTDATA data;
        CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret);
        if (pFault) {
            onDownloadDataPart(data);
        } else {
            data = m_currentObjectPartData;
            ret.ToData(data, kbGUID());
            onDownloadDataPart(data);
        }
    }
    else if (strMethodName == SyncMethod_UploadObjectPart)
    {
        onUploadDataPart();
    }
    else
    {
        Q_ASSERT(0);
    }
}