示例#1
0
BOOL WIZDOCUMENTDATAEX::LoadFromXmlRpc(CWizXmlRpcStructValue& data, const QString& kbGUID)
{
    strKbGUID = kbGUID;

    BOOL bInfo = FALSE;
    BOOL bData = FALSE;
    BOOL bParam = FALSE;
    data.GetBool(_T("document_info"), bInfo);
    data.GetBool(_T("document_data"), bData);
    data.GetBool(_T("document_param"), bParam);
    ATLASSERT(data.GetInt64(_T("version"), nVersion));
    ATLASSERT(!bData);
    //
    nObjectPart = 0;
    nObjectPart |= bInfo ? WIZKM_XMKRPC_DOCUMENT_PART_INFO : 0;
    nObjectPart |= bData ? WIZKM_XMKRPC_DOCUMENT_PART_DATA : 0;
    nObjectPart |= bParam ? WIZKM_XMKRPC_DOCUMENT_PART_PARAM : 0;
    //
    data.GetStr(_T("document_guid"), strGUID);
    //
    if (bInfo)
    {
        data.GetStr(_T("document_title"), strTitle);
        data.GetStr(_T("document_category"), strLocation);
        data.GetStr(_T("document_filename"), strName);
        data.GetStr(_T("document_seo"), strSEO);
        data.GetStr(_T("document_url"), strURL);
        data.GetStr(_T("document_author"), strAuthor);
        data.GetStr(_T("document_keywords"), strKeywords);
        data.GetStr(_T("document_type"), strType);
        data.GetStr(_T("document_owner"), strOwner);
        data.GetStr(_T("document_filetype"), strFileType);
        data.GetStr(_T("document_styleguid"), strStyleGUID);
        data.GetTime(_T("dt_created"), tCreated);
        data.GetTime(_T("dt_modified"), tModified);
        data.GetTime(_T("dt_accessed"), tAccessed);
        data.GetInt(_T("document_iconindex"), nIconIndex);
        data.GetInt(_T("document_protected"), nProtected);
        //data.GetInt(_T("document_readcount"), nReadCount);
        data.GetInt(_T("document_attachment_count"), nAttachmentCount);
        data.GetTime(_T("dt_info_modified"), tInfoModified);
        data.GetStr(_T("info_md5"), strInfoMD5);
        data.GetTime(_T("dt_data_modified"), tDataModified);
        data.GetStr(_T("data_md5"), strDataMD5);
        data.GetTime(_T("dt_param_modified"), tParamModified);
        data.GetStr(_T("param_md5"), strParamMD5);

        data.GetStringArray(_T("document_tags"), arrayTagGUID);

        data.GetStr(_T("system_tags"), strSystemTags);
    }

    if (bData)
    {
        ATLASSERT(FALSE);
    }

    if (bParam)
    {
        std::deque<WIZDOCUMENTPARAMDATA> params;
        if (!data.GetArray("document_params", params, kbGUID))
        {
            TOLOG(_T("Failed to get document param!"));
            return FALSE;
        }
        arrayParam.assign(params.begin(), params.end());
    }

    return !strGUID.IsEmpty();
}
示例#2
0
 BOOL LoadFromXmlRpc(CWizXmlRpcStructValue& data)
 {
     BOOL bInfo = FALSE;
     BOOL bData = FALSE;
     BOOL bParam = FALSE;
     data.GetBool(_T("document_info"), bInfo);
     data.GetBool(_T("document_data"), bData);
     data.GetBool(_T("document_param"), bParam);
     data.GetInt64(_T("version"), nVersion);
     //
     nParts = 0;
     nParts |= bInfo ? WIZKM_XMKRPC_DOCUMENT_PART_INFO : 0;
     nParts |= bData ? WIZKM_XMKRPC_DOCUMENT_PART_DATA : 0;
     nParts |= bParam ? WIZKM_XMKRPC_DOCUMENT_PART_PARAM : 0;
     //
     data.GetStr(_T("document_guid"), strGUID);
     //
     if (bInfo)
     {
         data.GetStr(_T("document_title"), strTitle);
         data.GetStr(_T("document_category"), strLocation);
         data.GetStr(_T("document_filename"), strName);
         data.GetStr(_T("document_seo"), strSEO);
         data.GetStr(_T("document_url"), strURL);
         data.GetStr(_T("document_author"), strAuthor);
         data.GetStr(_T("document_keywords"), strKeywords);
         data.GetStr(_T("document_type"), strType);
         data.GetStr(_T("document_owner"), strOwner);
         data.GetStr(_T("document_filetype"), strFileType);
         data.GetStr(_T("document_styleguid"), strStyleGUID);
         data.GetTime(_T("dt_created"), tCreated);
         data.GetTime(_T("dt_modified"), tModified);
         data.GetTime(_T("dt_accessed"), tAccessed);
         data.GetInt(_T("document_iconindex"), nIconIndex);
         data.GetInt(_T("document_protected"), nProtected);
         //data.GetInt(_T("document_readcount"), nReadCount);
         data.GetInt(_T("document_attachment_count"), nAttachmentCount);
         data.GetTime(_T("dt_info_modified"), tInfoModified);
         data.GetStr(_T("info_md5"), strInfoMD5);
         data.GetTime(_T("dt_data_modified"), tDataModified);
         data.GetStr(_T("data_md5"), strDataMD5);
         data.GetTime(_T("dt_param_modified"), tParamModified);
         data.GetStr(_T("param_md5"), strParamMD5);
         //
         data.GetStringArray(_T("document_tags"), arrayTagGUID);
     }
     //
     if (bData)
     {
         data.GetInt(_T("document_zip_size"), nDataSize);
         if (nApiVersion < 2)
         {
             if (!data.GetStream(_T("document_zip_data"), arrayData))
             {
                 TOLOG(_T("Failed to get note data!"));
                 return FALSE;
             }
         }
     }
     //
     if (bParam)
     {
         std::deque<WIZDOCUMENTPARAMDATA> params;
         if (!data.GetArray(_T("document_params"), params))
         {
             TOLOG(_T("Failed to get note param!"));
             return FALSE;
         }
         arrayParam.assign(params.begin(), params.end());
     }
     //
     return !strGUID.isEmpty();
 }
示例#3
0
BOOL WIZDOCUMENTDATAEX::LoadFromXmlRpc(CWizXmlRpcStructValue& data)
{
    bool bInfo = false;
    bool bData = false;
    bool bParam = false;
    data.GetBool("document_info", bInfo);
    data.GetBool("document_data", bData);
    data.GetBool("document_param", bParam);
    data.GetInt64("version", nVersion);

    // document_data field default is 0, aquire data use other api now.
    Q_ASSERT(!bData);

    nObjectPart = 0;
    nObjectPart |= bInfo ? WIZKM_XMKRPC_DOCUMENT_PART_INFO : 0;
    nObjectPart |= bData ? WIZKM_XMKRPC_DOCUMENT_PART_DATA : 0;
    nObjectPart |= bParam ? WIZKM_XMKRPC_DOCUMENT_PART_PARAM : 0;

    data.GetString("document_guid", strGUID);

    if (bInfo) {
        data.GetString("document_title", strTitle);
        data.GetString("document_category", strLocation);
        data.GetString("document_filename", strName);
        data.GetString("document_seo", strSEO);
        data.GetString("document_url", strURL);
        data.GetString("document_author", strAuthor);
        data.GetString("document_keywords", strKeywords);
        data.GetString("document_type", strType);
        data.GetString("document_owner", strOwner);
        data.GetString("document_filetype", strFileType);
        data.GetString("document_styleguid", strStyleGUID);
        data.GetInt("document_iconindex", nIconIndex);
        data.GetInt("document_protected", nProtected);
        data.GetInt("document_attachment_count", nAttachmentCount);

        // md5
        data.GetString("data_md5", strDataMD5);
        data.GetString("info_md5", strInfoMD5);
        data.GetString("param_md5", strParamMD5);

        // time
        data.GetTime("dt_created", tCreated);
        data.GetTime("dt_modified", tModified);
        data.GetTime("dt_accessed", tAccessed);
        data.GetTime("dt_data_modified", tDataModified);
        data.GetTime("dt_info_modified", tInfoModified);
        data.GetTime("dt_param_modified", tParamModified);

        data.GetStringArray("document_tags", arrayTagGUID);
    }

    if (bData) {
        Q_ASSERT(0);
    }

    if (bParam) {
        CWizDocumentParamDataArray params;
        if (!data.GetArray("document_params", params)) {
            TOLOG("Failed to load document param when parse xml-rpc!");
            return false;
        }

        arrayParam.assign(params.begin(), params.end());
    }

    return !strGUID.isEmpty();
}