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

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

?? wincontact.cpp

?? funambol windows mobile plugin source code, the source code is taken from the funambol site
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
        delete vp; vp = NULL;
    }
    if (getProperty(L"Children", element)) {
        vp = new VProperty(L"X-FUNAMBOL-CHILDREN", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Companies", element)) {
        vp = new VProperty(L"X-FUNAMBOL-COMPANIES", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Folder", element)) {
        vp = new VProperty(L"X-FUNAMBOL-FOLDER");
        vp->addValue(element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Gender", element)) {
        vp = new VProperty(L"X-FUNAMBOL-GENDER", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Hobby", element)) {
        vp = new VProperty(L"X-FUNAMBOL-HOBBIES", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"IMAddress", element)) {
        vp = new VProperty(L"EMAIL", element.c_str());
        vp->addParameter(L"INTERNET", NULL);
        vp->addParameter(L"HOME",     NULL);
        vp->addParameter(L"X-FUNAMBOL-INSTANTMESSENGER", NULL);
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Initials", element)) {
        vp = new VProperty(L"X-FUNAMBOL-INITIALS", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }

    if (getProperty(L"Language", element)) {
        vp = new VProperty(L"X-FUNAMBOL-LANGUAGES", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"ManagerName", element)) {
        vp = new VProperty(L"X-FUNAMBOL-MANAGER", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Mileage", element)) {
        vp = new VProperty(L"X-FUNAMBOL-MILEAGE", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"RadioTelephoneNumber", element)) {
        vp = new VProperty(L"TEL", element.c_str());
        vp->addParameter(L"X-FUNAMBOL-RADIO", NULL);
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Spouse", element)) {
        vp = new VProperty(L"X-FUNAMBOL-SPOUSE", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"Subject", element)) {
        vp = new VProperty(L"X-FUNAMBOL-SUBJECT", element.c_str());
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }
    if (getProperty(L"TelexNumber", element)) {
        vp = new VProperty(L"TEL", element.c_str());
        vp->addParameter(L"X-FUNAMBOL-TELEX", NULL);
        vo->addProperty(vp);
        delete vp; vp = NULL;
    }


    vp = new VProperty(L"END", L"VCARD");
    vo->addProperty(vp);
    delete vp; vp = NULL;


    //
    // Format the vCard.
    // -----------------
    //
    WCHAR* tmp = vo->toString();
    if (tmp) {
        vCard = tmp;
        delete [] tmp;
    }
    return vCard;
}



//
// Parse a vCard string and fills the propertyMap.
//
int WinContact::parse(const wstring dataString) {

	int businessTel  = 0;
	int homeTel		 = 0;
	WCHAR* name      = NULL;
    WCHAR* element   = NULL;


    //
    // Parse the vCard and fill the VObject.
    // -------------------------------------
    //
    VObject* vo = VConverter::parse(dataString.c_str());
    if (!vo) {
        sprintf(lastErrorMsg, ERR_ITEM_VOBJ_PARSE);
        LOG.error(lastErrorMsg);
        return 1;
    }
    // Check if VObject type and version are the correct ones.
    if (!checkVCardTypeAndVersion(vo)) {
        if (vo) delete vo;
        return 1;
    }


    //
    // Conversion: vObject -> WinContact.
    // ----------------------------------
    // Note: only properties found are added to the propertyMap, so that the 
    //       map will contain only properties effectively received.
    //
    propertyMap.clear();
    for(int i=0; i < vo->propertiesCount(); i++) {

        VProperty* vp = vo->getProperty(i);
		name    = vp->getName();
        element = vp->getValue(0);      // the first value of the property.


		if(!wcscmp(name, L"N")) {
			if(element = vp->getPropComponent(1))  setProperty(L"LastName",   element);
			if(element = vp->getPropComponent(2))  setProperty(L"FirstName",  element);
			if(element = vp->getPropComponent(3))  setProperty(L"MiddleName", element);
			if(element = vp->getPropComponent(4))  setProperty(L"Title",      element);
			if(element = vp->getPropComponent(5))  setProperty(L"Suffix",     element);
		}
        else if(!wcscmp(name, L"BDAY")) {
			setProperty(L"Birthday", element);
        }
        else if(!wcscmp(name, L"NOTE")) {
			setProperty(L"Body", element);
        }
        else if(!wcscmp(name, L"CLASS")) {
            WCHAR tmp[10];
            if( !wcscmp(element, TEXT("PRIVATE"     )) || 
                !wcscmp(element, TEXT("CONFIDENTIAL")) ) {
                wsprintf(tmp, TEXT("%i"), winPrivate);          // Private = 2
            }
            else {
                wsprintf(tmp, TEXT("%i"), winNormal);           // Normal = 0
            }
            setProperty(L"Sensitivity", tmp);
        }
        else if(!wcscmp(name, L"CATEGORIES")) {
			setProperty(L"Categories", element);
        }
		else if(!wcscmp(name, L"EMAIL")) {
            // Mapping is:
            // Email1Address <-> EMAIL;INTERNET:
            // Email2Address <-> EMAIL;INTERNET;HOME:
            // Email3Address <-> EMAIL;INTERNET;WORK:
			if (vp->containsParameter(L"HOME")) {
                if (vp->containsParameter(L"X-FUNAMBOL-INSTANTMESSENGER")) {
                    setProperty(L"IMAddress", element);
                }
                else {
				    setProperty(L"Email2Address", element);
                }
			}
			else if (vp->containsParameter(L"WORK")) {
				setProperty(L"Email3Address", element);
			}
            else {
				setProperty(L"Email1Address", element);
            }
		}
        else if(!wcscmp(name, L"FN")) {
			setProperty(L"FileAs", element);
        }
        else if(!wcscmp(name, L"NICKNAME")) {
			setProperty(L"NickName", element);
        }
        else if(!wcscmp(name, L"PRIORITY")) {
			setProperty(L"Importance", element);
        }
		else if(!wcscmp(name, L"ORG")) {
            if(element = vp->getPropComponent(1))  setProperty(L"CompanyName",    element);
			if(element = vp->getPropComponent(2))  setProperty(L"Department",     element);
            if(element = vp->getPropComponent(2))  setProperty(L"OfficeLocation", element);
		}
        else if(!wcscmp(name, L"ROLE")) {
			setProperty(L"Profession", element);
        }

        //
        // ---- Telephone fields ----
        //
        else if(!wcscmp(name, L"TEL")) {
		    if(vp->containsParameter(L"WORK")) {
                if (vp->containsParameter(L"FAX")) {
				    setProperty(L"BusinessFaxNumber", element);
                }
                else if (vp->containsParameter(L"PREF")) {
                    setProperty(L"CompanyMainTelephoneNumber", element);
                }
                else {      // default, would be "else if (vp->containsParameter(L"VOICE"))"
				    if(businessTel == 0) {
					    setProperty(L"BusinessTelephoneNumber", element);
					    businessTel++;
				    }
				    else{
					    setProperty(L"Business2TelephoneNumber", element);
				    }
                }
		    }
            else if (vp->containsParameter(L"CAR")) {
			    setProperty(L"CarTelephoneNumber", element);
            }
		    else if(vp->containsParameter(L"HOME")) {
                if(vp->containsParameter(L"FAX")) {
				    setProperty(L"HomeFaxNumber", element);
                }
                else {      // default, would be "else if (vp->containsParameter(L"VOICE"))"
                    if(homeTel == 0) {
				        setProperty(L"HomeTelephoneNumber", element);
				        homeTel++;
			        }
                    else {
				        setProperty(L"Home2TelephoneNumber", element);
                    }
                }
            }
            else if (vp->containsParameter(L"CELL")) {
			    setProperty(L"MobileTelephoneNumber", element);
            }
            else if (vp->containsParameter(L"FAX")) {
			    setProperty(L"OtherFaxNumber", element);
            }
            else if(vp->containsParameter(L"PAGER")) {
			    setProperty(L"PagerNumber", element);
            }
            else if (vp->containsParameter(L"PREF")) {
                setProperty(L"PrimaryTelephoneNumber", element);
            }
            else if(vp->containsParameter(L"X-FUNAMBOL-CALLBACK")) {
			    setProperty(L"CallbackTelephoneNumber", element);
            }
            else if(vp->containsParameter(L"X-FUNAMBOL-RADIO")) {
			    setProperty(L"RadioTelephoneNumber", element);
            }
            else {      // default, would be "else if (vp->containsParameter(L"VOICE"))"
			    setProperty(L"OtherTelephoneNumber", element);
            }
        }

        else if(!wcscmp(name, L"TITLE")) {
			setProperty(L"JobTitle", element);
        }
        
        else if(!wcscmp(name, L"PHOTO")) {
			setProperty(L"Picture", element);
        }

        //
        // ---- URL fields ----
        //
        else if(!wcscmp(name, L"URL")) {
            if (vp->containsParameter(L"WORK")) {
			    setProperty(L"BusinessWebPage", element);
            }
            else if(vp->containsParameter(L"HOME")) {
			    setProperty(L"HomeWebPage", element);
            }
            else {
			    setProperty(L"WebPage", element);
            }
        }

        //
        // ---- ADR fields ----
        //
        else if(!wcscmp(name, L"ADR")) {
			if(vp->containsParameter(L"HOME")) {
				if(element = vp->getPropComponent(1))  setProperty(L"HomeAddressPostOfficeBox", element);
                if(element = vp->getPropComponent(2))  setProperty(L"HomeAddressExtended",      element);
				if(element = vp->getPropComponent(3))  setProperty(L"HomeAddressStreet",        element);
				if(element = vp->getPropComponent(4))  setProperty(L"HomeAddressCity",          element);
				if(element = vp->getPropComponent(5))  setProperty(L"HomeAddressState",         element);
				if(element = vp->getPropComponent(6))  setProperty(L"HomeAddressPostalCode",    element);
				if(element = vp->getPropComponent(7))  setProperty(L"HomeAddressCountry",       element);
			}
			else if(vp->containsParameter(L"WORK")) {
				if(element = vp->getPropComponent(1))  setProperty(L"BusinessAddressPostOfficeBox", element);
                if(element = vp->getPropComponent(2))  setProperty(L"BusinessAddressExtended",      element);
				if(element = vp->getPropComponent(3))  setProperty(L"BusinessAddressStreet",        element);
				if(element = vp->getPropComponent(4))  setProperty(L"BusinessAddressCity",          element);
				if(element = vp->getPropComponent(5))  setProperty(L"BusinessAddressState",         element);
				if(element = vp->getPropComponent(6))  setProperty(L"BusinessAddressPostalCode",    element);
				if(element = vp->getPropComponent(7))  setProperty(L"BusinessAddressCountry",       element);
			}
			else {
                if(element = vp->getPropComponent(1))  setProperty(L"OtherAddressPostOfficeBox", element);
                if(element = vp->getPropComponent(2))  setProperty(L"OtherAddressExtended",      element);
				if(element = vp->getPropComponent(3))  setProperty(L"OtherAddressStreet",        element);
				if(element = vp->getPropComponent(4))  setProperty(L"OtherAddressCity",          element);
				if(element = vp->getPropComponent(5))  setProperty(L"OtherAddressState",         element);
				if(element = vp->getPropComponent(6))  setProperty(L"OtherAddressPostalCode",    element);
				if(element = vp->getPropComponent(7))  setProperty(L"OtherAddressCountry",       element);
			}
        }

        //
        // ---- Funambol defined properties ----
        //
        else if(!wcscmp(name, L"X-FUNAMBOL-ANNIVERSARY")) {
			setProperty(L"Anniversary", element);
        }
		else if(!wcscmp(name, L"X-FUNAMBOL-CHILDREN")) {
			setProperty(L"Children", element);
		}
		else if(!wcscmp(name, L"X-FUNAMBOL-COMPANIES")) {
			setProperty(L"Companies", element);
		}
        else if(!wcscmp(name, L"X-FUNAMBOL-FOLDER")) {
            setProperty(L"Folder", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-GENDER")) {
            setProperty(L"Gender", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-HOBBIES")) {
            setProperty(L"Hobby", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-INITIALS")) {
            setProperty(L"Initials", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-LANGUAGES")) {
            setProperty(L"Language", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-MANAGER")) {
            setProperty(L"ManagerName", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-MILEAGE")) {
            setProperty(L"Mileage", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-SPOUSE")) {
            setProperty(L"Spouse", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-SUBJECT")) {
            setProperty(L"Subject", element);
        }
        else if(!wcscmp(name, L"X-FUNAMBOL-TELEX")) {
            setProperty(L"TelexNumber", element);
        }

        else {
            // Property not supported: log a warning?
        }
    }

    return 0;
}



// Utility to check the productID and version of VObject passed.
bool WinContact::checkVCardTypeAndVersion(VObject* vo) {

    WCHAR* prodID  = vo->getProdID();
    WCHAR* version = vo->getVersion();
    if (!prodID || !version) {
        return false;
    }

    if (wcscmp(prodID, L"VCARD")) {
        LOG.error(ERR_ITEM_VOBJ_WRONG_TYPE, prodID, L"VCARD");
        return false;
    }
    if (wcscmp(version, VCARD_VERSION)) {
        // Just log a warning...
        LOG.info(INFO_ITEM_VOBJ_WRONG_VERSION, version, VCARD_VERSION);
    }

    return true;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品午夜久久| 日韩国产欧美三级| 日韩精品福利网| 国产99一区视频免费| 色狠狠色噜噜噜综合网| 精品国产伦一区二区三区观看体验 | 成人精品视频一区二区三区| 欧美日韩中文一区| 中文字幕在线一区| 久久超级碰视频| 欧美精品日韩一区| 最新国产成人在线观看| 国产乱码精品一区二区三区五月婷| 在线国产亚洲欧美| 国产精品久久久久久妇女6080| 乱中年女人伦av一区二区| 欧美视频在线一区| 亚洲私人影院在线观看| 国产精品亚洲第一区在线暖暖韩国 | av中文字幕不卡| 337p粉嫩大胆噜噜噜噜噜91av| 天天综合色天天综合| 欧美在线你懂的| 国产精品乱码人人做人人爱| 精品亚洲成a人| 7777精品伊人久久久大香线蕉的| 亚洲精品国产成人久久av盗摄| 成人午夜在线免费| 久久久777精品电影网影网| 久久激情五月激情| 日韩欧美国产小视频| 奇米亚洲午夜久久精品| 在线成人免费视频| 日韩avvvv在线播放| 91麻豆精品国产自产在线| 亚洲v日本v欧美v久久精品| 欧美午夜精品一区二区三区| 亚洲久本草在线中文字幕| 99re8在线精品视频免费播放| 国产欧美日韩另类一区| 成人h精品动漫一区二区三区| 国产视频一区二区在线| 国产精品99久| 国产精品久久久久aaaa樱花 | 蜜臀国产一区二区三区在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 另类小说综合欧美亚洲| 欧美电影免费观看高清完整版在线观看| 午夜欧美一区二区三区在线播放| 欧美日韩国产影片| 日韩有码一区二区三区| 欧美www视频| 国产精品白丝jk白祙喷水网站| 韩国欧美国产1区| 国产一区二区三区高清播放| 国产一区二区三区在线观看免费| 欧美成人精精品一区二区频| 国产一区二区在线影院| 欧美国产激情一区二区三区蜜月| 成人久久18免费网站麻豆 | 亚洲精品视频自拍| 欧美日韩视频在线一区二区| 麻豆精品一区二区| 国产精品网站在线播放| 欧美在线小视频| 国内外成人在线视频| 国产精品久久久一区麻豆最新章节| 日本高清不卡视频| 久久成人羞羞网站| 136国产福利精品导航| 欧美日韩精品欧美日韩精品| 国产在线精品一区二区| 亚洲欧美日韩国产手机在线| 日韩欧美一区二区不卡| 99久久99久久综合| 手机精品视频在线观看| 中文字幕av一区 二区| 欧美视频三区在线播放| 国产一本一道久久香蕉| 一区二区三区美女视频| 国产人妖乱国产精品人妖| 欧美日韩国产片| 不卡一区二区三区四区| 蜜臀av一区二区在线观看 | 久久久www成人免费毛片麻豆 | 一区二区三区 在线观看视频| 精品日韩av一区二区| 色哟哟欧美精品| 国产麻豆精品在线| 天堂成人免费av电影一区| 日本一区二区免费在线| 在线播放日韩导航| 99国产精品久久久久| 韩国精品免费视频| 天堂va蜜桃一区二区三区| 91精品国产免费久久综合| 色八戒一区二区三区| 99久久精品国产导航| 国产成人精品一区二区三区四区| 日本麻豆一区二区三区视频| 一区二区三区在线不卡| 国产精品久久久久久户外露出| 欧美大片在线观看一区| 欧美日韩国产首页| 欧美午夜影院一区| 在线观看国产一区二区| 在线亚洲高清视频| 99久久99久久久精品齐齐| 成人性生交大合| 不卡av在线免费观看| 国产盗摄女厕一区二区三区| 九色综合国产一区二区三区| 极品销魂美女一区二区三区| 奇米888四色在线精品| 亚洲第一福利视频在线| 亚洲女与黑人做爰| 亚洲伦在线观看| 亚洲人吸女人奶水| 亚洲欧美日韩一区二区三区在线观看| 国产精品毛片无遮挡高清| 欧美国产日韩亚洲一区| 国产欧美精品区一区二区三区| 欧美精品一区二区三区视频| 日韩你懂的在线观看| 精品美女在线观看| 久久影音资源网| 欧美激情一区二区三区全黄| 亚洲欧洲av另类| 亚洲免费观看高清完整| 亚洲一区二区三区国产| 午夜免费久久看| 久国产精品韩国三级视频| 国产成人午夜99999| av不卡免费电影| 91浏览器在线视频| 欧美色图激情小说| 欧美一区二区三区播放老司机| 精品999久久久| 亚洲欧美综合网| 日韩成人免费电影| 国产一区二区导航在线播放| 成人午夜免费视频| 欧美日韩中文国产| 亚洲精品一区二区三区精华液 | 亚洲第一电影网| 国产一区91精品张津瑜| 99视频热这里只有精品免费| 欧美三级电影在线看| 日韩免费视频线观看| 国产精品国产三级国产三级人妇| 亚洲精品网站在线观看| 激情欧美日韩一区二区| 成人app软件下载大全免费| 欧美亚州韩日在线看免费版国语版| 日韩一区二区三区四区| 日本一区二区在线不卡| 亚洲成人自拍偷拍| 国产成人精品一区二区三区网站观看 | 国产精品毛片无遮挡高清| 日本欧美一区二区三区乱码 | 一区二区中文字幕在线| 亚洲美腿欧美偷拍| 久久电影网站中文字幕| 欧洲av在线精品| 久久新电视剧免费观看| 亚洲一区二区在线观看视频| 国产精品综合二区| 欧美日韩综合不卡| 中文字幕一区二区三区四区不卡 | 欧美久久久久久蜜桃| 日本一区二区三级电影在线观看 | 久久蜜臀中文字幕| 亚洲高清中文字幕| 9l国产精品久久久久麻豆| 日韩午夜三级在线| 亚洲一区二区在线播放相泽| 99这里只有久久精品视频| 日韩视频免费观看高清完整版| 亚洲同性gay激情无套| 国产成人亚洲综合a∨婷婷图片| 欧美一区二区三区人| 亚洲在线观看免费| 97se亚洲国产综合在线| 国产丝袜欧美中文另类| 国产精品一区二区黑丝| 日韩欧美一级二级三级| 亚洲国产乱码最新视频| 色综合天天性综合| 国产精品素人一区二区| 国产精品91xxx| 久久久无码精品亚洲日韩按摩| 免费视频一区二区| 在线不卡欧美精品一区二区三区| 亚洲一区二区五区| 在线观看www91| 亚洲国产色一区| 欧美午夜不卡在线观看免费| 亚洲女同一区二区| 91美女在线看| 亚洲精品美腿丝袜|