亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? msgloader.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
字號:
/* * Copyright 1999-2000,2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: MsgLoader.cpp,v 1.8 2004/09/08 13:56:34 peiyongz Exp $ */// ---------------------------------------------------------------------------//  Includes// ---------------------------------------------------------------------------#include <xercesc/util/XercesDefs.hpp>#include <xercesc/util/PlatformUtils.hpp>#include <xercesc/util/XMLMsgLoader.hpp>#include <xercesc/util/XMLString.hpp>#include <xercesc/util/XMLUniDefs.hpp>#include <xercesc/util/XMLUni.hpp>#include "MsgLoader.hpp"#include "XMLMessages.h"#include <locale.h>#include <stdlib.h>#include <stdio.h>#include <qmhrtvm.h>#include <qusec.h>XERCES_CPP_NAMESPACE_BEGIN// ---------------------------------------------------------------------------//  Public Constructors and Destructor// ---------------------------------------------------------------------------MsgCatalogLoader::MsgCatalogLoader(const XMLCh* const msgDomain) :    fCatalogHandle(0)    , fMsgDomain(0){    fMsgDomain = XMLString::replicate(msgDomain, XMLPlatformUtils::fgMemoryManager);}MsgCatalogLoader::~MsgCatalogLoader(){    XMLPlatformUtils::fgMemoryManager->deallocate(fMsgDomain);//delete[] fMsgDomain;}char* PackingRepText(const char * const repText1,		     const char * const repText2,		     const char * const repText3,		     const char * const repText4,		     int& totalsize){    short sizes[4];    char* reps[4];    char *buffer;		// Allocate just what we need    char* anchor;    char temp[2];    reps[0] = (char*)repText1;    reps[1] = (char*)repText2;    reps[2] = (char*)repText3;    reps[3] = (char*)repText4;    int count = 0;    for(int i = 0; i < 4; i++)	if(reps[i] != NULL)	{				// Collect all the sizes and count how many we've got	    sizes[i] = strlen(reps[i]);            totalsize += sizes[i]+2;	    count++;	}    buffer = (char*)malloc(totalsize);		// Allocate just what we need    anchor = buffer;    for(i = 0; i < count; i++)		// Stuff everything into the buffer    {		memcpy(buffer, (void *)&sizes[i], sizeof(short));	buffer += sizeof(short);	memcpy(buffer, reps[i], sizes[i]);	buffer += sizes[i];    }    return anchor;		// This guy is still holding the beginning of the buffer}// ---------------------------------------------------------------------------//  Implementation of the local retrieve message// ---------------------------------------------------------------------------bool localMsg(char * msgId                            ,       XMLCh* const            toFill                            , const unsigned int            maxChars			    ,		char*		    repTexts			    ,		int		    size){    typedef _Packed struct {	Qmh_Rtvm_RTVM0100_t mdata;        /* Basic Message Data                  */	char                mtext[1024];  /* Kind of arbitrary, enough?      */    } MyMessage_t;    /* Information about the message that we're going to retrieve               */    char         msgformat[9]  = "RTVM0100";    char         msgfile[21]   = "QXMLMSG   *LIBL     ";    char	 *msgsubstdta  = repTexts;		// ??    int	  msgsubstlen = 0;    if(repTexts)	msgsubstlen = size;  //strlen(repTexts);	// ??    char         msgsubst[11]  = "*YES      ";    char         msgfmtctl[11] = "*NO       ";    Qus_EC_t     errorcode;    MyMessage_t  message;                 /* message we'll retrieve        */  memset(&errorcode, 0, sizeof(errorcode));    /* Clear the error area   */  errorcode.Bytes_Provided = sizeof(errorcode);/* Init the error code    */  memset(&message, 0, sizeof(message.mdata));  /* Clear the message area */  message.mtext[0]='\0';                       /* Null Text String       */  int len = sizeof(message);  for(int i = 0; i < 1024; i++)      message.mtext[i] = '\0';  QMHRTVM( &message, len, msgformat, msgId,           msgfile, msgsubstdta, msgsubstlen, msgsubst, msgfmtctl, &errorcode);  /*,	   "*MSGID    ", 1200, 1200);  */                                         /* The error message should now be stored in message.mtext */					 /* with the CCSID 1200					    *///    char msgString[100];//    char* catMessage = catgets( fCatalogHandle, msgSet, (int)msgToLoad, msgString);    XMLString::transcode(message.mtext, toFill, maxChars);	    return true;}// ---------------------------------------------------------------------------//  Implementation of the virtual message loader API// ---------------------------------------------------------------------------bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad                            ,       XMLCh* const            toFill                            , const unsigned int            maxChars){    char * msgId;    char * repTexts = NULL;    int size = 0;    if (XMLString::equals(fMsgDomain, XMLUni::fgXMLErrDomain))    {        if(msgToLoad < 7)	// Warning messages            msgId = Warnings[msgToLoad - 2];        else               // Fatal Errors            msgId = Errors[msgToLoad - 9];    }    else if (XMLString::equals(fMsgDomain, XMLUni::fgExceptDomain))        msgId = Exceptions[msgToLoad - 2];    else if (XMLString::equals(fMsgDomain, XMLUni::fgValidityDomain))        msgId = Invalid[msgToLoad - 2];    else if (XMLString::equals(fMsgDomain, XMLUni::fgXMLDOMMsgDomain))        msgId = DOMMsg[msgToLoad - 2];    if (!localMsg(msgId, toFill, maxChars, repTexts, size))        return false;	    return true;}bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad                            ,       XMLCh* const              toFill                            , const unsigned int              maxChars                            , const char* const               repText1                            , const char* const               repText2                            , const char* const               repText3                            , const char* const               repText4                            , MemoryManager * const           manager){    char * msgId;    int size=0;    char* repTexts = PackingRepText(repText1, repText2, repText3, repText4, size);    if (XMLString::equals(fMsgDomain, XMLUni::fgXMLErrDomain))    {        if(msgToLoad < 7)            msgId = Warnings[msgToLoad - 2];        else            msgId = Errors[msgToLoad - 9];    }    else if (XMLString::equals(fMsgDomain, XMLUni::fgExceptDomain))        msgId = Exceptions[msgToLoad - 2];    else if (XMLString::equals(fMsgDomain, XMLUni::fgValidityDomain))        msgId = Invalid[msgToLoad - 2];    else if (XMLString::equals(fMsgDomain, XMLUni::fgXMLDOMMsgDomain))        msgId = DOMMsg[msgToLoad - 2];    // Call the other version to load up the message    // note that no one is deleting repTexts...    if (!localMsg(msgId, toFill, maxChars, repTexts, size))        return false;    return true;}bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad                            ,       XMLCh* const              toFill                            , const unsigned int              maxChars                            , const XMLCh* const              repText1                            , const XMLCh* const              repText2                            , const XMLCh* const              repText3                            , const XMLCh* const              repText4                            , MemoryManager* const            manager){    //    //  Transcode the provided parameters and call the other version,    //  which will do the replacement work.    //    char* tmp1 = 0;    char* tmp2 = 0;    char* tmp3 = 0;    char* tmp4 = 0;    bool bRet = false;    if (repText1)        tmp1 = XMLString::transcode(repText1, manager);    if (repText2)        tmp2 = XMLString::transcode(repText2, manager);    if (repText3)        tmp3 = XMLString::transcode(repText3, manager);    if (repText4)        tmp4 = XMLString::transcode(repText4, manager);    bRet = loadMsg(msgToLoad, toFill, maxChars, tmp1, tmp2, tmp3, tmp4, manager);    if (tmp1)        manager->deallocate(tmp1);//delete [] tmp1;    if (tmp2)        manager->deallocate(tmp2);//delete [] tmp2;    if (tmp3)        manager->deallocate(tmp3);//delete [] tmp3;    if (tmp4)        manager->deallocate(tmp4);//delete [] tmp4;    return bRet;}XERCES_CPP_NAMESPACE_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av一区| 中文字幕欧美一区| 欧美日韩一卡二卡三卡| 99久久99久久久精品齐齐| 国产乱理伦片在线观看夜一区| 奇米一区二区三区| 日本成人在线不卡视频| 天堂va蜜桃一区二区三区漫画版 | 激情综合网最新| 久久精品国产99国产精品| 久久99精品国产麻豆婷婷 | 国产亚洲婷婷免费| 久久精品网站免费观看| 欧美激情在线看| 亚洲女与黑人做爰| 日韩国产精品大片| 极品尤物av久久免费看| 国产精品亚洲专一区二区三区| 国产成人精品1024| 在线一区二区三区四区| 欧美日韩卡一卡二| 久久亚洲欧美国产精品乐播| 久久久不卡网国产精品二区| 国产精品毛片久久久久久| 日韩美女视频一区二区| 日韩中文欧美在线| 国产成人av一区| 欧美老肥妇做.爰bbww| 欧美va天堂va视频va在线| 中文字幕一区二区三区不卡| 一区二区三区不卡在线观看 | 全国精品久久少妇| 国产成人在线视频免费播放| 9l国产精品久久久久麻豆| 欧美日韩一区二区三区四区| 久久综合色播五月| 一区二区三区四区在线免费观看| 首页综合国产亚洲丝袜| 国产精品香蕉一区二区三区| 色吧成人激情小说| 久久久亚洲欧洲日产国码αv| 国产精品美女一区二区三区| 亚洲一区二区四区蜜桃| 国产精品一区不卡| 日韩欧美一区二区三区在线| 中文字幕免费不卡| 国产真实精品久久二三区| 欧美亚洲综合久久| 中文字幕一区二区三区不卡| 日本在线不卡视频一二三区| av色综合久久天堂av综合| 日韩欧美一级特黄在线播放| 夜夜操天天操亚洲| 91福利在线导航| 国产精品网站在线播放| 日本欧美一区二区三区| 91美女片黄在线| 中文字幕不卡一区| 国产福利91精品一区| 555www色欧美视频| 五月婷婷色综合| 欧日韩精品视频| 一区二区三区不卡视频| 97精品久久久久中文字幕 | 中文一区在线播放| 久久福利资源站| 欧美电影免费观看高清完整版在| 亚洲成人www| 欧美日本在线播放| 日韩综合小视频| 欧美精品一卡二卡| 亚洲不卡av一区二区三区| 99久久99久久精品免费看蜜桃| 亚洲国产电影在线观看| 丰满亚洲少妇av| 中文在线资源观看网站视频免费不卡| 国产一区二区三区黄视频| 亚洲精品在线观看网站| 激情综合五月天| 国产色一区二区| 成人免费视频免费观看| 日本一区二区成人| 91在线小视频| 亚洲自拍偷拍九九九| 欧美自拍偷拍一区| 日韩精品1区2区3区| 欧美放荡的少妇| 免费成人你懂的| 久久综合网色—综合色88| 开心九九激情九九欧美日韩精美视频电影| 88在线观看91蜜桃国自产| 丝袜美腿亚洲综合| 久久蜜桃一区二区| 成人激情免费电影网址| 亚洲女人小视频在线观看| 在线观看日韩国产| 精品无人区卡一卡二卡三乱码免费卡| 欧美xxx久久| av高清久久久| 日韩不卡一二三区| 中文字幕二三区不卡| 一本到一区二区三区| 视频在线观看一区二区三区| 欧美大片在线观看一区| 国产成人精品一区二区三区四区| 亚洲乱码国产乱码精品精的特点 | 欧美精品日韩综合在线| 日韩avvvv在线播放| 国产欧美va欧美不卡在线| 欧美性生交片4| 国产成人午夜精品影院观看视频 | 国产精品一区二区视频| 男人操女人的视频在线观看欧美 | 色婷婷激情综合| 另类的小说在线视频另类成人小视频在线| 久久综合999| 欧美吞精做爰啪啪高潮| 国产一区二区网址| 亚洲成人精品一区二区| 久久久久久久综合日本| 欧美视频精品在线观看| 福利电影一区二区| 麻豆91精品91久久久的内涵| 自拍偷自拍亚洲精品播放| 日韩一区二区三区电影在线观看 | 日韩欧美高清一区| 99国产麻豆精品| 激情欧美一区二区三区在线观看| 亚洲欧美综合网| 久久精品视频在线看| 制服丝袜av成人在线看| 色哟哟一区二区三区| 成人小视频在线| 久久成人18免费观看| 亚洲一区二区三区视频在线播放| 国产精品美女久久久久aⅴ| 亚洲三级理论片| 极品尤物av久久免费看| 国产伦精一区二区三区| 日韩欧美在线123| 欧美三级日本三级少妇99| 不卡av免费在线观看| 韩国女主播一区| 毛片av一区二区| 性做久久久久久免费观看欧美| 自拍偷自拍亚洲精品播放| 欧美激情一区二区三区蜜桃视频| 精品播放一区二区| 日韩视频一区二区三区| 欧美理论在线播放| 制服.丝袜.亚洲.中文.综合| 色综合一个色综合| 色婷婷综合在线| 91高清视频在线| 欧美日韩大陆在线| 欧美日韩www| 日韩欧美中文字幕公布| 日韩一级完整毛片| 精品日韩一区二区| 欧美成人vps| 久久只精品国产| 亚洲精品一区二区三区蜜桃下载| 精品国精品国产尤物美女| 欧美一级日韩一级| 2023国产精品自拍| 中文字幕不卡三区| 亚洲另类春色校园小说| 亚洲国产精品一区二区www| 五月天亚洲婷婷| 国产尤物一区二区| 99久久免费视频.com| 色菇凉天天综合网| 日韩精品一区二区三区四区| 欧美xxxx在线观看| 国产精品不卡一区| 亚洲成人自拍偷拍| 久久66热偷产精品| 91在线观看视频| 91.麻豆视频| 国产精品女主播在线观看| 亚洲三级在线免费观看| 婷婷国产v国产偷v亚洲高清| 久久99精品国产.久久久久久| 欧美婷婷六月丁香综合色| 日韩午夜av一区| 中文字幕一区在线观看视频| 亚洲人成网站在线| 麻豆精品视频在线观看| 国产精品一区免费视频| 欧美亚一区二区| 久久精品一二三| 亚洲大片在线观看| 国产成人免费在线观看不卡| 在线看日本不卡| 久久久精品天堂| 性做久久久久久免费观看| 国产成人精品aa毛片| 欧美亚洲国产一区二区三区va| 久久久不卡影院| 香蕉影视欧美成人|