?? contactbuilder.h
字號:
/*
* Copyright (C) 2003-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
*/
//
// @author Marco Magistrali
//
#ifndef INCL_CONTACT_BUILDER
#define INCL_CONTACT_BUILDER
#include "pimstore.h"
#include "pim/Utils.h"
#include "pim/crc32.h"
#include "vocl/WinContact.h"
#include "vocl/WinContactSIF.h"
#include <string>
using namespace std;
// the name of the Picture property. It is Stream and not a usual String property
// so it must be treated separately
#define PICTURE L"Picture"
void populateContactStringItem(wstring &contactStringItem, IContact *pContact);
void completeContact(IContact *pContact, wchar_t * ptrData);
long calculateContactHash (IContact* pContact);
VObject* ContactToVObject(IContact *pContact);
void VObjectToContact(IContact *pContact, VObject *vo);
/*
* Used only for Windows Mobile 5 to use newer IItem interface
*/
#if _WIN32_WCE > 0x500
WinContact* contactToWinContact(IItem *pContact, bool isSif);
BOOL winContactToContact(WinContact& winC, IItem *pContact);
long getIItemOid(IItem *pContact);
/*
* New method that parse a generic items (in this case contact) using
* a low level properties. It populate a WinContact object
*/
enum {
ePIMPR_FILEAS ,
ePIMPR_TITLE ,
ePIMPR_FIRST_NAME ,
ePIMPR_MIDDLE_NAME ,
ePIMPR_LAST_NAME ,
ePIMPR_SUFFIX ,
ePIMPR_NICKNAME ,
ePIMPR_YOMI_FIRSTNAME ,
ePIMPR_YOMI_LASTNAME ,
ePIMPR_YOMI_COMPANY ,
ePIMPR_COMPANY_NAME ,
ePIMPR_DEPARTMENT ,
ePIMPR_JOB_TITLE ,
ePIMPR_MANAGER ,
ePIMPR_OFFICE_LOCATION ,
ePIMPR_ASSISTANT_NAME ,
ePIMPR_EMAIL1_ADDRESS ,
ePIMPR_EMAIL2_ADDRESS ,
ePIMPR_EMAIL3_ADDRESS ,
ePIMPR_IM1_ADDRESS ,
ePIMPR_IM2_ADDRESS ,
ePIMPR_IM3_ADDRESS ,
ePIMPR_MOBILE_TELEPHONE_NUMBER ,
ePIMPR_BUSINESS_TELEPHONE_NUMBER ,
ePIMPR_BUSINESS2_TELEPHONE_NUMBER ,
ePIMPR_HOME_TELEPHONE_NUMBER ,
ePIMPR_HOME2_TELEPHONE_NUMBER ,
ePIMPR_BUSINESS_FAX_NUMBER ,
ePIMPR_HOME_FAX_NUMBER ,
ePIMPR_PAGER_NUMBER ,
ePIMPR_CAR_TELEPHONE_NUMBER ,
ePIMPR_RADIO_TELEPHONE_NUMBER ,
ePIMPR_COMPANY_TELEPHONE_NUMBER ,
ePIMPR_ASSISTANT_TELEPHONE_NUMBER ,
//ePIMPR_SMS ,
//ePIMPR_MMS ,
//ePIMPR_DISPLAY_NAME ,
ePIMPR_SPOUSE ,
ePIMPR_CHILDREN ,
ePIMPR_WEB_PAGE ,
//ePIMPR_RINGTONE ,
ePIMPR_CUSTOMERID ,
ePIMPR_GOVERNMENTID ,
//ePIMPR_ACCOUNT_NAME ,
//ePIMPR_BUSINESS_ADDRESS ,
ePIMPR_BUSINESS_ADDRESS_STREET ,
ePIMPR_BUSINESS_ADDRESS_CITY ,
ePIMPR_BUSINESS_ADDRESS_STATE ,
ePIMPR_BUSINESS_ADDRESS_POSTAL_CODE ,
ePIMPR_BUSINESS_ADDRESS_COUNTRY ,
//ePIMPR_HOME_ADDRESS ,
ePIMPR_HOME_ADDRESS_STREET ,
ePIMPR_HOME_ADDRESS_CITY ,
ePIMPR_HOME_ADDRESS_STATE ,
ePIMPR_HOME_ADDRESS_POSTAL_CODE ,
ePIMPR_HOME_ADDRESS_COUNTRY ,
//ePIMPR_OTHER_ADDRESS ,
ePIMPR_OTHER_ADDRESS_STREET ,
ePIMPR_OTHER_ADDRESS_CITY ,
ePIMPR_OTHER_ADDRESS_STATE ,
ePIMPR_OTHER_ADDRESS_POSTAL_CODE ,
ePIMPR_OTHER_ADDRESS_COUNTRY ,
ePIMPR_BIRTHDAY ,
ePIMPR_ANNIVERSARY ,
//ePIMPR_SMARTPROP ,
ePIMPR_PICTURE ,
//ePIMPR_YOMI_FILEAS ,
//ePIMPR_SIM_PHONE ,
ePIMPR_CATEGORIES ,
//ePIMPR_BODY_BINARY ,
ePIMPR_BODY_TEXT ,
NUM_COLS};
// These tags represent the message information we would like to pick up
static int cProps = NUM_COLS;
static CEPROPID PIMPR_props [] = {
PIMPR_FILEAS ,
PIMPR_TITLE ,
PIMPR_FIRST_NAME ,
PIMPR_MIDDLE_NAME ,
PIMPR_LAST_NAME ,
PIMPR_SUFFIX ,
PIMPR_NICKNAME ,
PIMPR_YOMI_FIRSTNAME ,
PIMPR_YOMI_LASTNAME ,
PIMPR_YOMI_COMPANY ,
PIMPR_COMPANY_NAME ,
PIMPR_DEPARTMENT ,
PIMPR_JOB_TITLE ,
PIMPR_MANAGER ,
PIMPR_OFFICE_LOCATION ,
PIMPR_ASSISTANT_NAME ,
PIMPR_EMAIL1_ADDRESS ,
PIMPR_EMAIL2_ADDRESS ,
PIMPR_EMAIL3_ADDRESS ,
PIMPR_IM1_ADDRESS ,
PIMPR_IM2_ADDRESS ,
PIMPR_IM3_ADDRESS ,
PIMPR_MOBILE_TELEPHONE_NUMBER ,
PIMPR_BUSINESS_TELEPHONE_NUMBER ,
PIMPR_BUSINESS2_TELEPHONE_NUMBER ,
PIMPR_HOME_TELEPHONE_NUMBER ,
PIMPR_HOME2_TELEPHONE_NUMBER ,
PIMPR_BUSINESS_FAX_NUMBER ,
PIMPR_HOME_FAX_NUMBER ,
PIMPR_PAGER_NUMBER ,
PIMPR_CAR_TELEPHONE_NUMBER ,
PIMPR_RADIO_TELEPHONE_NUMBER ,
PIMPR_COMPANY_TELEPHONE_NUMBER ,
PIMPR_ASSISTANT_TELEPHONE_NUMBER ,
//PIMPR_SMS ,
//PIMPR_MMS ,
//PIMPR_DISPLAY_NAME ,
PIMPR_SPOUSE ,
PIMPR_CHILDREN ,
PIMPR_WEB_PAGE ,
//PIMPR_RINGTONE ,
PIMPR_CUSTOMERID ,
PIMPR_GOVERNMENTID ,
//PIMPR_ACCOUNT_NAME ,
//PIMPR_BUSINESS_ADDRESS ,
PIMPR_BUSINESS_ADDRESS_STREET ,
PIMPR_BUSINESS_ADDRESS_CITY ,
PIMPR_BUSINESS_ADDRESS_STATE ,
PIMPR_BUSINESS_ADDRESS_POSTAL_CODE ,
PIMPR_BUSINESS_ADDRESS_COUNTRY ,
//PIMPR_HOME_ADDRESS ,
PIMPR_HOME_ADDRESS_STREET ,
PIMPR_HOME_ADDRESS_CITY ,
PIMPR_HOME_ADDRESS_STATE ,
PIMPR_HOME_ADDRESS_POSTAL_CODE ,
PIMPR_HOME_ADDRESS_COUNTRY ,
//PIMPR_OTHER_ADDRESS ,
PIMPR_OTHER_ADDRESS_STREET ,
PIMPR_OTHER_ADDRESS_CITY ,
PIMPR_OTHER_ADDRESS_STATE ,
PIMPR_OTHER_ADDRESS_POSTAL_CODE ,
PIMPR_OTHER_ADDRESS_COUNTRY ,
PIMPR_BIRTHDAY ,
PIMPR_ANNIVERSARY ,
//PIMPR_SMARTPROP ,
PIMPR_PICTURE ,
//PIMPR_YOMI_FILEAS ,
//PIMPR_SIM_PHONE ,
PIMPR_CATEGORIES ,
//PIMPR_BODY_BINARY ,
PIMPR_BODY_TEXT
};
static const wchar_t* contactFields [] = {
L"FileAs" ,
L"Title" ,
L"FirstName" , // Returns or sets the first name for the contact.
L"MiddleName" ,
L"LastName" ,
L"Suffix" ,
L"NickName" ,
L"YomiFirstName" ,
L"YomiLastName" ,
L"YomiCompanyName" ,
L"CompanyName" ,
L"Department" ,
L"JobTitle" ,
L"ManagerName" ,
L"OfficeLocation" ,
L"AssistantName" ,
L"Email1Address" ,
L"Email2Address" ,
L"Email3Address" ,
L"IMAddress" ,
L"IM2Address" ,
L"IM3Address" ,
L"MobileTelephoneNumber" ,
L"BusinessTelephoneNumber" ,
L"Business2TelephoneNumber" ,
L"HomeTelephoneNumber" ,
L"Home2TelephoneNumber" ,
L"BusinessFaxNumber" ,
L"HomeFaxNumber" ,
L"PagerNumber" ,
L"CarTelephoneNumber" ,
L"RadioTelephoneNumber" ,
L"CompanyMainTelephoneNumber" ,
L"AssistantTelephoneNumber" ,
//PIMPR_SMS ,
//PIMPR_MMS ,
//PIMPR_DISPLAY_NAME ,
L"Spouse" ,
L"Children" ,
L"WebPage" , // outlook WebPage
//PIMPR_RINGTONE ,
L"CustomerID" ,
L"GovernmentIDNumber" ,
//PIMPR_ACCOUNT_NAME ,
//PIMPR_BUSINESS_ADDRESS ,
L"BusinessAddressStreet" ,
L"BusinessAddressCity" ,
L"BusinessAddressState" ,
L"BusinessAddressPostalCode" ,
L"BusinessAddressCountry" ,
//PIMPR_HOME_ADDRESS ,
L"HomeAddressStreet" ,
L"HomeAddressCity" ,
L"HomeAddressState" ,
L"HomeAddressPostalCode" ,
L"HomeAddressCountry" ,
//PIMPR_OTHER_ADDRESS ,
L"OtherAddressStreet" ,
L"OtherAddressCity" ,
L"OtherAddressState" ,
L"OtherAddressPostalCode" ,
L"OtherAddressCountry" ,
L"Birthday" ,
L"Anniversary" ,
//PIMPR_SMARTPROP ,
L"Picture" ,// use this not associated to the property. ADDED MANUALLY!! PIMPR_PICTURE
//PIMPR_YOMI_FILEAS ,
//PIMPR_SIM_PHONE ,
L"Categories" ,
//PIMPR_BODY_BINARY ,
L"Body" ,
NULL
};
#endif
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -