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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wincontactsif.cpp

?? funambol windows mobile plugin source code, the source code is taken from the funambol site
?? CPP
字號:
 /*
 * Copyright (C) 2007 Funambol, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY, TITLE, NONINFRINGEMENT or FITNESS FOR A PARTICULAR
 * PURPOSE.  See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 * 02111-1307  USA
*/

#include "vocl/WinContactSIF.h"
#include "vocl/VConverter.h"
#include "vocl/constants.h"
#include "base/stringUtils.h"
using namespace std;


// Constructor
WinContactSIF::WinContactSIF() {
    sif = L"";
}

// Constructor: fills propertyMap parsing the passed vCard string
WinContactSIF::WinContactSIF(const wstring dataString, const wchar_t **fields) {
    sif = L"";
    sifFields = fields;
    parse(dataString);
}

// Destructor
WinContactSIF::~WinContactSIF() {
}

wstring WinContactSIF::toString() {
    
    wstring propertyValue, propertyKey;
    sif = L"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";   
    sif += L"<contact>\n";

    map<wstring,wstring>::iterator it = propertyMap.begin();       
    while (it != propertyMap.end()) {        
        propertyValue = it->second;      
        propertyValue = adaptToSIFSpecs(it->first, propertyValue); 
        addPropertyToSIF(it->first, propertyValue, sif);                
        it ++;
    }
    sif += L"</contact>";

    return sif;
}




void WinContactSIF::addPropertyToSIF(const wstring propertyName, wstring propertyValue, wstring& sif) {

    if (propertyValue != L"") {

        replaceAll(L"&", L"&amp;", propertyValue);
        replaceAll(L"<", L"&lt;",  propertyValue);
        replaceAll(L">", L"&gt;",  propertyValue);

        sif += L"<";
        sif += propertyName;
        sif += L">";
        sif += propertyValue;
        sif += L"</";
        sif += propertyName;
        sif += L">\n";
    }
    else {
        sif += L"<";
        sif += propertyName;
        sif += L"/>\n";
    }
}


wstring WinContactSIF::trim(const wstring& str) {
    wstring ret = str;
    int idx = 0;
    while((idx=ret.find_first_of(' ')) == 0 ) {
        ret.replace( idx, 1, L"" );            
    }
    while((idx=ret.find_last_of(' ')) == ret.size()-1 ) {
        ret.replace( idx, 1, L"" );            
    }
    return ret;
}

wstring WinContactSIF::formatDateWithMinus(wstring stringDate) {
    
    wstring ret;
    ret = stringDate.substr(0, 4);
    ret += L"-";
    ret += stringDate.substr(4, 2);
    ret += L"-";
    ret += stringDate.substr(6, 2);    
    return ret;
}

wstring WinContactSIF::adaptToSIFSpecs(const wstring& propName, const wstring& propValue) {
    
    wstring propertyValue = L"";

    if ((propName == L"Anniversary" || propName == L"Birthday") && propValue != L"") {
       propertyValue = formatDateWithMinus(propValue);    
    } else if (propName == L"Picture" && propValue != L"") {
        // the picture is right for vcard: for windows we have to format better the sif
        // even if it should work anyway.
        //<Picture>    /9j/4AAQSkZJRgABAQEAcwBzAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRof
        //        Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh   
        //        MDyN8gIU9aKyV+o9D//Z
        //        </Picture>
        propertyValue = trim(propValue);
        
    } 

    if (propertyValue != L"") {
        return propertyValue;
    } 
    return propValue;

}

int WinContactSIF::parse(const wstring data) {
    
    propertyMap.clear();
    // Check if <itemType> tag is present...

    wstring::size_type pos = 0;
    wstring itemTypeTag = L"<contact>";    
    pos = data.find(itemTypeTag, 0);
    if (pos == wstring::npos) {
        LOG.error("Property not found", itemTypeTag.c_str());
        return 1;
    }
    wstring propertyValue;
       
    for (int i=0; sifFields[i]; i++) {
        // Set only properties found!
        if (!getElementContent(data, sifFields[i], propertyValue, 0)) {

            replaceAll(L"&lt;",  L"<", propertyValue);
            replaceAll(L"&gt;",  L">", propertyValue);
            replaceAll(L"&amp;", L"&", propertyValue);
            
            setProperty(sifFields[i], propertyValue);
        }
    }   
    return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区不卡在线 | 亚洲一区二区三区四区在线观看 | 欧美精品自拍偷拍| 日本伦理一区二区| 91丨九色丨蝌蚪丨老版| 9i看片成人免费高清| 成人sese在线| 91免费观看视频在线| 91丝袜国产在线播放| 91福利视频在线| 欧美日韩国产综合草草| 欧美区一区二区三区| 91麻豆精品国产91久久久资源速度| 欧美手机在线视频| 91精品国产综合久久蜜臀| 日韩一级完整毛片| 美腿丝袜亚洲综合| 亚洲综合久久久| 亚洲自拍偷拍欧美| 亚洲午夜一二三区视频| 亚洲成人午夜影院| 久久机这里只有精品| 国产一区二区三区精品视频| 国产精品夜夜嗨| www.av亚洲| 欧美日韩高清在线播放| 久久综合资源网| 国产精品二三区| 亚洲一区二区三区自拍| 日本成人在线视频网站| 国产精品18久久久久久vr| 不卡的av网站| 欧美精品三级日韩久久| 国产亚洲欧美在线| 亚洲电影一级黄| 国产福利电影一区二区三区| 91亚洲国产成人精品一区二区三| 精品视频资源站| 久久久精品国产免费观看同学| 亚洲精品乱码久久久久久日本蜜臀| 亚洲 欧美综合在线网络| 久久精品国产99国产| 91免费观看视频在线| 精品国产91乱码一区二区三区 | 丁香激情综合五月| 欧美一区二区三区在线| 国产精品久久久久久亚洲毛片| 亚洲国产成人porn| 99热精品国产| www激情久久| 视频一区视频二区在线观看| 成人晚上爱看视频| 欧美精品一区二区高清在线观看| 亚洲欧美激情在线| 国产精品一区专区| 精品人在线二区三区| 亚洲成a人v欧美综合天堂下载| 成人小视频免费观看| 精品奇米国产一区二区三区| 亚洲一二三四在线| 99久久综合99久久综合网站| 精品国产乱码久久久久久闺蜜 | 日韩成人免费在线| 欧美性一二三区| 亚洲乱码国产乱码精品精可以看| 国产精品18久久久久| 日韩久久久精品| 日本免费新一区视频| 欧美丰满一区二区免费视频| 亚洲一区二区在线观看视频| 99久久综合色| 亚洲精品视频自拍| 91麻豆视频网站| 亚洲欧美在线视频观看| 成人av网站在线观看| 国产精品久久久久婷婷| 国产成人精品www牛牛影视| 精品国产免费一区二区三区香蕉| 日本亚洲最大的色成网站www| 欧美日本国产视频| 免费久久99精品国产| 精品精品国产高清a毛片牛牛| 美国十次综合导航| 久久久美女毛片| 国产精品亚洲第一区在线暖暖韩国 | www.性欧美| 亚洲图片你懂的| 色欧美乱欧美15图片| 亚洲日本在线a| 欧美日韩国产一二三| 五月天一区二区三区| 欧美一区二区人人喊爽| 麻豆精品久久精品色综合| 久久色中文字幕| 波多野洁衣一区| 亚洲一级二级在线| 日韩欧美国产一区二区在线播放| 蜜桃一区二区三区在线| 久久人人超碰精品| 色综合一个色综合亚洲| 亚洲va在线va天堂| 久久只精品国产| av电影在线观看不卡| 亚洲高清视频在线| 久久精品一区二区三区不卡| 99re视频精品| 美洲天堂一区二卡三卡四卡视频| 亚洲国产精品国自产拍av| 91国偷自产一区二区三区观看 | 日韩欧美国产高清| 成人午夜激情视频| 亚洲超碰97人人做人人爱| 久久久久国产成人精品亚洲午夜| 91视频在线观看| 韩国av一区二区| 亚洲动漫第一页| 久久久国产精品麻豆| 欧美日韩免费一区二区三区 | 欧美视频三区在线播放| 韩国av一区二区| 亚洲一区二区在线播放相泽| 精品国产髙清在线看国产毛片| 暴力调教一区二区三区| 久久精工是国产品牌吗| 亚洲免费资源在线播放| 久久婷婷国产综合国色天香| 欧美日韩国产成人在线免费| www.亚洲色图.com| 国产精品一区免费视频| 日韩av电影免费观看高清完整版在线观看 | 在线视频欧美精品| 国产**成人网毛片九色| 免费av成人在线| 香蕉成人伊视频在线观看| 国产精品久久久久久久久晋中| 日韩女同互慰一区二区| 日本久久一区二区| 豆国产96在线|亚洲| 国产在线精品一区二区| 日韩国产欧美在线视频| 一区二区三区久久| 亚洲人精品午夜| 国产精品狼人久久影院观看方式| 欧美v国产在线一区二区三区| 欧美日韩亚洲高清一区二区| 色狠狠桃花综合| 91香蕉视频污| 色婷婷精品大视频在线蜜桃视频| 国产成人综合亚洲网站| 国产在线视视频有精品| 麻豆一区二区在线| 久久成人久久爱| 国产尤物一区二区| 国产成人在线观看免费网站| 韩国理伦片一区二区三区在线播放| 美腿丝袜亚洲一区| 国内精品视频666| 国产成人精品免费视频网站| 丁香一区二区三区| 成人精品鲁一区一区二区| av中文字幕不卡| 色综合天天综合在线视频| 色婷婷一区二区| 欧美午夜寂寞影院| 666欧美在线视频| 91精品国产免费久久综合| 欧美一区二区三区四区高清| 日韩欧美二区三区| 国产精品视频一二三区 | 亚洲综合成人在线| 亚洲国产精品自拍| 另类综合日韩欧美亚洲| 久久er99精品| 99这里只有精品| 在线不卡a资源高清| 欧美sm极限捆绑bd| 欧美激情一区在线| 亚洲精品高清在线| 毛片基地黄久久久久久天堂| 国产在线观看免费一区| av在线不卡电影| 欧美久久久久久久久久| 亚洲精品在线免费观看视频| 国产人成亚洲第一网站在线播放| 中文文精品字幕一区二区| 亚洲香肠在线观看| 国产精品资源网| 欧美系列在线观看| 国产清纯在线一区二区www| 一区二区三区四区蜜桃 | 亚洲精品一区二区三区四区高清 | 日本vs亚洲vs韩国一区三区 | 久久国产精品无码网站| thepron国产精品| 91麻豆精品91久久久久同性| 国产午夜精品一区二区三区嫩草| 亚洲免费观看在线观看| 久久精品免费看| 色婷婷av一区二区三区之一色屋| 精品国产3级a|