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

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

?? beosplatformutils.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
    size_t noOfItemsRead = fread((void*) toFill, 1, toRead, (FILE*)theFile);    if(ferror((FILE*)theFile))    {        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotReadFromFile, manager);    }    return (unsigned int)noOfItemsRead;}voidXMLPlatformUtils::writeBufferToFile( FileHandle     const  theFile                                   , long                  toWrite                                   , const XMLByte* const  toFlush                                   , MemoryManager* const  manager){    if (!theFile        ||        (toWrite <= 0 ) ||        !toFlush         )        return;    const XMLByte* tmpFlush = (const XMLByte*) toFlush;    size_t bytesWritten = 0;    while (true)    {        bytesWritten=fwrite(tmpFlush, sizeof(XMLByte), toWrite, (FILE*)theFile);        if(ferror((FILE*)theFile))        {            ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotWriteToFile, manager);        }        if (bytesWritten < toWrite) //incomplete write        {            tmpFlush+=bytesWritten;            toWrite-=bytesWritten;            bytesWritten=0;        }        else            return;    }    return;}void XMLPlatformUtils::resetFile(FileHandle theFile                                 , MemoryManager* const manager){    // Seek to the start of the file    if (fseek((FILE*)theFile, 0, SEEK_SET))        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotResetFile, manager);}// ---------------------------------------------------------------------------//  XMLPlatformUtils: File system methods// ---------------------------------------------------------------------------XMLCh* XMLPlatformUtils::getFullPath(const XMLCh* const srcPath,                                     MemoryManager* const manager){    //    //  NOTE: THe path provided has always already been opened successfully,    //  so we know that its not some pathological freaky path. It comes in    //  in native format, and goes out as Unicode always    //    char* newSrc = XMLString::transcode(srcPath, manager);    ArrayJanitor<char> janText(newSrc, manager);    // Use a local buffer that is big enough for the largest legal path    char absPath[PATH_MAX + 1];    // get the absolute path    char* retPath = realpath(newSrc, &absPath[0]);    if (!retPath)    {        ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName, manager);    }    return XMLString::transcode(absPath, manager);}bool XMLPlatformUtils::isRelative(const XMLCh* const toCheck                                  , MemoryManager* const manager){    // Check for pathological case of empty path    if (!toCheck[0])        return false;    //    //  If it starts with a slash, then it cannot be relative. This covers    //  both something like "\Test\File.xml" and an NT Lan type remote path    //  that starts with a node like "\\MyNode\Test\File.xml".    //    if (toCheck[0] == XMLCh('/'))        return false;    // Else assume its a relative path    return true;}XMLCh* XMLPlatformUtils::getCurrentDirectory(MemoryManager* const manager){    char  dirBuf[PATH_MAX + 2];    char  *curDir = getcwd(&dirBuf[0], PATH_MAX + 1);    if (!curDir)    {        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotGetBasePathName, manager);    }    return XMLString::transcode(curDir, manager);}inline bool XMLPlatformUtils::isAnySlash(XMLCh c) {    return ( chBackSlash == c || chForwardSlash == c);}// ---------------------------------------------------------------------------//  XMLPlatformUtils: Timing Methods// ---------------------------------------------------------------------------unsigned long XMLPlatformUtils::getCurrentMillis(){    timeb aTime;    ftime(&aTime);    return (unsigned long)(aTime.time*1000 + aTime.millitm);}// -----------------------------------------------------------------------//  Mutex methods// -----------------------------------------------------------------------#if !defined(APP_NO_THREADS)// ---------------------------------------------------------------------------//  XMLPlatformUtils: Platform init method// ---------------------------------------------------------------------------static XMLMutex* atomicOpsMutex = 0;void XMLPlatformUtils::platformInit(){    //    // The atomicOps mutex needs to be created early.    // Normally, mutexes are created on first use, but there is a    // circular dependency between compareAndExchange() and    // mutex creation that must be broken.    if(!atomicOpsMutex)    {        atomicOpsMutex = new (fgMemoryManager) XMLMutex();        if (atomicOpsMutex->fHandle == 0)            atomicOpsMutex->fHandle = XMLPlatformUtils::makeMutex();    }}void* XMLPlatformUtils::makeMutex(){    pthread_mutex_t* mutex = new pthread_mutex_t;    pthread_mutexattr_t*  attr = new pthread_mutexattr_t;    pthread_mutexattr_init(attr);    pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE_NP);    if (pthread_mutex_init(mutex, attr))    {        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);    }    pthread_mutexattr_destroy(attr);    delete attr;    return (void*)(mutex);}void XMLPlatformUtils::closeMutex(void* const mtxHandle){    if (mtxHandle != NULL)    {        if (pthread_mutex_destroy((pthread_mutex_t*) mtxHandle))        {            ThrowXMLwithMemMgr(XMLPlatformUtilsException,                     XMLExcepts::Mutex_CouldNotDestroy, fgMemoryManager);        }        delete (pthread_mutex_t*) mtxHandle;    }}void XMLPlatformUtils::lockMutex(void* const mtxHandle){    if (mtxHandle != NULL)    {        if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))        {            ThrowXMLwithMemMgr(XMLPlatformUtilsException,                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);        }    }}void XMLPlatformUtils::unlockMutex(void* const mtxHandle){    if (mtxHandle != NULL)    {        if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))        {            ThrowXMLwithMemMgr(XMLPlatformUtilsException,                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);        }    }}// -----------------------------------------------------------------------//  Miscellaneous synchronization methods// -----------------------------------------------------------------------void* XMLPlatformUtils::compareAndSwap(void**            toFill                                     , const void* const newValue                                     , const void* const toCompare){    XMLMutexLock lockMutex(atomicOpsMutex);    void *retVal = *toFill;    if (*toFill == toCompare)        *toFill = (void *)newValue;    return retVal;}int XMLPlatformUtils::atomicIncrement(int &location){    XMLMutexLock localLock(atomicOpsMutex);    return ++location;}int XMLPlatformUtils::atomicDecrement(int &location){    XMLMutexLock localLock(atomicOpsMutex);    return --location;}#else // #if !defined (APP_NO_THREADS)void XMLPlatformUtils::platformInit(){}void* XMLPlatformUtils::makeMutex(){        return 0;}void XMLPlatformUtils::closeMutex(void* const mtxHandle){}void XMLPlatformUtils::lockMutex(void* const mtxHandle){}void XMLPlatformUtils::unlockMutex(void* const mtxHandle){}void* XMLPlatformUtils::compareAndSwap (void**             toFill,                                        const void* const  newValue,                                        const void* const  toCompare){    void *retVal = *toFill;    if (*toFill == toCompare)       *toFill = (void *)newValue;    return retVal;}int XMLPlatformUtils::atomicIncrement(int &location){    return ++location;}int XMLPlatformUtils::atomicDecrement(int &location){    return --location;}#endif // APP_NO_THREADSvoid XMLPlatformUtils::platformTerm(){#if !defined(APP_NO_THREADS)    // delete the mutex we created	closeMutex(atomicOpsMutex->fHandle);	atomicOpsMutex->fHandle = 0;    delete atomicOpsMutex;    atomicOpsMutex = 0;#endif}#include <xercesc/util/LogicalPath.c>XERCES_CPP_NAMESPACE_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合色综合88| 成人黄色a**站在线观看| 欧美在线观看一区| 亚洲一区二区在线观看视频| 欧美中文字幕一二三区视频| 亚洲电影一区二区| 777色狠狠一区二区三区| 久久精品噜噜噜成人av农村| 久久嫩草精品久久久久| 丰满少妇久久久久久久| 亚洲自拍偷拍图区| 日韩三级视频中文字幕| 国产精品资源在线看| 国产精品国产三级国产普通话蜜臀 | 精东粉嫩av免费一区二区三区| 精品国产在天天线2019| 粉嫩欧美一区二区三区高清影视| 一区二区三区av电影| 日韩一区二区在线播放| 成人黄色电影在线| 亚洲丶国产丶欧美一区二区三区| 久久婷婷综合激情| 色网站国产精品| 久久不见久久见免费视频1| 亚洲婷婷综合久久一本伊一区| 88在线观看91蜜桃国自产| 成人av小说网| 日韩va亚洲va欧美va久久| 国产精品欧美一区二区三区| 欧美精品久久天天躁| 高清shemale亚洲人妖| 丝袜亚洲另类丝袜在线| 中文字幕乱码日本亚洲一区二区| 欧美精品在线观看播放| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美一区二区三区在线观看| 高清在线成人网| 日韩在线一区二区| 亚洲欧洲色图综合| 欧美电视剧免费观看| 欧美性极品少妇| 成人sese在线| 日韩欧美一级二级三级久久久| 午夜电影网一区| 国产精品电影院| 久久综合色8888| 欧美视频中文字幕| 成人18精品视频| 久久精品国产精品亚洲精品| 亚洲一区二区视频在线观看| 欧美激情在线看| 久久女同精品一区二区| 欧美一级片在线观看| 欧美亚洲日本国产| av午夜精品一区二区三区| 国产精品456露脸| 免费国产亚洲视频| 午夜免费久久看| 亚洲视频资源在线| 中文字幕 久热精品 视频在线| 欧美videos大乳护士334| 欧美日韩国产色站一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 久久精品av麻豆的观看方式| 国产乱码字幕精品高清av| 午夜成人在线视频| 天天做天天摸天天爽国产一区 | 午夜成人免费视频| 午夜精品成人在线| 亚洲国产综合色| 亚洲精品国产成人久久av盗摄 | 精品美女一区二区| 日韩欧美在线网站| 日韩欧美高清dvd碟片| 日韩视频免费观看高清完整版在线观看 | 亚洲综合成人在线视频| 亚洲激情网站免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产欧美一区二区精品久导航 | 日韩免费观看高清完整版在线观看| 3d动漫精品啪啪1区2区免费| 日韩欧美一卡二卡| 久久你懂得1024| 中文字幕在线一区免费| 国产精品国产三级国产| 亚洲人午夜精品天堂一二香蕉| 亚洲日本韩国一区| 一区二区三区电影在线播| 亚洲第一成人在线| 蜜臀久久99精品久久久画质超高清 | 国产一二精品视频| 国产99精品国产| 色香蕉成人二区免费| 欧洲av在线精品| 911精品国产一区二区在线| 日韩精品一区二区三区四区| 久久精品夜夜夜夜久久| 亚洲视频一区在线观看| 亚洲二区在线视频| 国产一区激情在线| 99精品国产视频| 91精选在线观看| 国产欧美日本一区二区三区| 一区二区在线观看视频 | 国产精品网友自拍| 亚洲蜜臀av乱码久久精品| 日韩影院在线观看| 国产美女娇喘av呻吟久久| 99v久久综合狠狠综合久久| 欧美三级电影网| 久久亚洲精品国产精品紫薇| 亚洲女女做受ⅹxx高潮| 激情文学综合丁香| 91黄色免费看| 337p粉嫩大胆色噜噜噜噜亚洲| 综合久久综合久久| 久久精品国产亚洲高清剧情介绍 | 97se亚洲国产综合自在线观| 88在线观看91蜜桃国自产| 中文字幕精品三区| 日本美女一区二区三区| 99re成人在线| 精品国产免费一区二区三区香蕉| 亚洲女同女同女同女同女同69| 美女视频黄免费的久久| 97久久精品人人做人人爽| 日韩精品综合一本久道在线视频| 国产精品动漫网站| 国产美女娇喘av呻吟久久| 欧美老女人第四色| 国产精品国产三级国产专播品爱网| 日本欧美韩国一区三区| 91精品福利视频| 国产精品视频你懂的| 久久精品久久99精品久久| 欧美图区在线视频| 中文字幕一区二区三区视频| 国产精品一区二区三区99| 欧美日本视频在线| 依依成人精品视频| 99re8在线精品视频免费播放| 久久亚洲一区二区三区明星换脸| 日韩精品电影一区亚洲| 日本高清不卡一区| 亚洲人妖av一区二区| 丰满少妇久久久久久久 | 亚洲欧洲精品天堂一级| 国产一区二区在线看| 欧美一区二区三区男人的天堂| 亚洲精品亚洲人成人网 | 国产盗摄女厕一区二区三区| 日韩免费福利电影在线观看| 视频一区二区三区入口| 欧美在线观看你懂的| 亚洲视频图片小说| 91免费看片在线观看| 国产精品免费免费| 丰满少妇久久久久久久| 中文文精品字幕一区二区| 国产酒店精品激情| 精品国产凹凸成av人网站| 久久99精品网久久| 精品国产不卡一区二区三区| 九九精品视频在线看| 精品日本一线二线三线不卡| 麻豆久久久久久久| 日韩一级高清毛片| 久久国产精品色婷婷| 日韩精品在线看片z| 久久精品国产网站| 国产婷婷一区二区| jlzzjlzz国产精品久久| 亚洲丝袜美腿综合| 欧美日韩在线播放三区四区| 日日夜夜免费精品视频| 91精品欧美综合在线观看最新| 日本欧美韩国一区三区| 久久综合九色综合97婷婷| 国产在线不卡一区| 国产精品美女视频| 日本高清视频一区二区| 三级在线观看一区二区 | 日韩一级大片在线观看| 看电视剧不卡顿的网站| 中文字幕成人av| 在线日韩av片| 日韩国产欧美在线视频| 久久久久9999亚洲精品| 成人ar影院免费观看视频| 一区二区三区中文字幕| 欧美一区二区三区爱爱| 国产乱国产乱300精品| 亚洲卡通欧美制服中文| 91精品视频网| 成人黄色777网| 日日夜夜精品视频天天综合网| 久久免费午夜影院| 91久久国产最好的精华液| 久久99国产精品免费| 国产精品乱人伦|