54 // We mean it. |
54 // We mean it. |
55 // |
55 // |
56 |
56 |
57 #include "qmobilityglobal.h" |
57 #include "qmobilityglobal.h" |
58 |
58 |
59 #include <qcontactdetail.h> |
|
60 #include <qcontactname.h> |
|
61 #include <qcontactemailaddress.h> |
|
62 #include <qcontactphonenumber.h> |
|
63 #include "qcontactaddress.h" |
|
64 #include <qcontacturl.h> |
|
65 #include <qcontactguid.h> |
|
66 #include <qcontactorganization.h> |
|
67 #include <qcontacttimestamp.h> |
|
68 #include <qcontactbirthday.h> |
|
69 #include <qcontactnote.h> |
|
70 #include <qcontactgeolocation.h> |
|
71 #include <qcontactavatar.h> |
|
72 #include <qcontactgender.h> |
|
73 #include <qcontactnickname.h> |
|
74 #include <qcontactanniversary.h> |
|
75 #include <qcontactonlineaccount.h> |
|
76 #include <qcontactfamily.h> |
|
77 #include <qcontactdisplaylabel.h> |
|
78 #include <qcontacttag.h> |
|
79 #include <qcontactringtone.h> |
|
80 #include <qcontactthumbnail.h> |
|
81 |
|
82 QTM_BEGIN_NAMESPACE |
59 QTM_BEGIN_NAMESPACE |
83 |
|
84 // Mapping between a string in versit specifications and Qt contact details |
|
85 struct VersitContactDetailMapping { |
|
86 const char* versitPropertyName; |
|
87 const char* contactDetailDefinitionName; |
|
88 const char* contactDetailValueKey; |
|
89 }; |
|
90 |
|
91 //! [Property name mappings] |
|
92 // Mappings from versit property names to Qt contact details |
|
93 const VersitContactDetailMapping versitContactDetailMappings[] = { |
|
94 {"ADR", QContactAddress::DefinitionName.latin1(), |
|
95 ""}, |
|
96 {"BDAY", QContactBirthday::DefinitionName.latin1(), |
|
97 QContactBirthday::FieldBirthday.latin1()}, |
|
98 {"CATEGORIES", QContactTag::DefinitionName.latin1(), |
|
99 QContactTag::FieldTag.latin1()}, |
|
100 {"FN", QContactDisplayLabel::DefinitionName.latin1(), |
|
101 ""}, |
|
102 {"GEO", QContactGeoLocation::DefinitionName.latin1(), |
|
103 ""}, |
|
104 {"EMAIL", QContactEmailAddress::DefinitionName.latin1(), |
|
105 QContactEmailAddress::FieldEmailAddress.latin1()}, |
|
106 {"IMPP", QContactOnlineAccount::DefinitionName.latin1(), |
|
107 QContactOnlineAccount::SubTypeImpp.latin1()}, |
|
108 {"LOGO", QContactOrganization::DefinitionName.latin1(), |
|
109 QContactOrganization::FieldLogoUrl.latin1()}, |
|
110 {"N", QContactName::DefinitionName.latin1(), |
|
111 ""}, |
|
112 {"NICKNAME", QContactNickname::DefinitionName.latin1(), |
|
113 QContactNickname::FieldNickname.latin1()}, |
|
114 {"NOTE", QContactNote::DefinitionName.latin1(), |
|
115 QContactNote::FieldNote.latin1()}, |
|
116 {"ORG", QContactOrganization::DefinitionName.latin1(), |
|
117 QContactOrganization::FieldName.latin1()}, |
|
118 {"PHOTO", QContactThumbnail::DefinitionName.latin1(), |
|
119 ""}, |
|
120 {"REV", QContactTimestamp::DefinitionName.latin1(), |
|
121 ""}, |
|
122 {"ROLE", QContactOrganization::DefinitionName.latin1(), |
|
123 QContactOrganization::FieldRole.latin1()}, |
|
124 {"SOUND", QContactRingtone::DefinitionName.latin1(), |
|
125 QContactRingtone::FieldAudioRingtoneUrl.latin1()}, |
|
126 {"TEL", QContactPhoneNumber::DefinitionName.latin1(), |
|
127 QContactPhoneNumber::FieldNumber.latin1()}, |
|
128 {"TITLE", QContactOrganization::DefinitionName.latin1(), |
|
129 QContactOrganization::FieldTitle.latin1()}, |
|
130 {"UID", QContactGuid::DefinitionName.latin1(), |
|
131 QContactGuid::FieldGuid.latin1()}, |
|
132 {"URL", QContactUrl::DefinitionName.latin1(), |
|
133 QContactUrl::FieldUrl.latin1()}, |
|
134 {"X-ANNIVERSARY", QContactAnniversary::DefinitionName.latin1(), |
|
135 ""}, |
|
136 {"X-ASSISTANT", QContactOrganization::DefinitionName.latin1(), |
|
137 QContactOrganization::FieldAssistantName.latin1()}, |
|
138 {"X-ASSISTANT-TEL", QContactPhoneNumber::DefinitionName.latin1(), |
|
139 QContactPhoneNumber::SubTypeAssistant.latin1()}, |
|
140 {"X-CHILDREN", QContactFamily::DefinitionName.latin1(), |
|
141 QContactFamily::FieldChildren.latin1()}, |
|
142 {"X-EPOCSECONDNAME",QContactNickname::DefinitionName.latin1(), |
|
143 QContactNickname::FieldNickname.latin1()}, |
|
144 {"X-GENDER", QContactGender::DefinitionName.latin1(), |
|
145 QContactGender::FieldGender.latin1()}, |
|
146 {"X-IMPP", QContactOnlineAccount::DefinitionName.latin1(), |
|
147 QContactOnlineAccount::SubTypeImpp.latin1()}, |
|
148 {"X-JABBER", QContactOnlineAccount::DefinitionName.latin1(), |
|
149 QContactOnlineAccount::SubTypeImpp.latin1()}, |
|
150 {"X-NICKNAME", QContactNickname::DefinitionName.latin1(), |
|
151 QContactNickname::FieldNickname.latin1()}, |
|
152 {"X-SIP", QContactOnlineAccount::DefinitionName.latin1(), |
|
153 ""}, |
|
154 {"X-SPOUSE", QContactFamily::DefinitionName.latin1(), |
|
155 QContactFamily::FieldSpouse.latin1()} |
|
156 }; |
|
157 //! [Property name mappings] |
|
158 |
60 |
159 // Mapping between a string in versit specifications and Qt contacts |
61 // Mapping between a string in versit specifications and Qt contacts |
160 struct VersitMapping { |
62 struct VersitMapping { |
161 const char* versitString; |
63 const char* versitString; |
162 const char* contactString; |
64 const char* contactString; |
163 }; |
65 }; |
164 |
66 |
165 // Mappings from versit TYPE parameters to Qt contact detail contexts |
67 // Mapping between a string in versit specifications and Qt contact details |
166 const VersitMapping versitContextMappings[] = { |
68 struct VersitDetailMapping { |
167 {"HOME", QContactDetail::ContextHome.latin1()}, |
69 const char* versitPropertyName; |
168 {"WORK", QContactDetail::ContextWork.latin1()}, |
70 const char* detailDefinitionName; |
|
71 const char* detailFieldName; |
169 }; |
72 }; |
170 |
|
171 //! [Property type parameter mappings] |
|
172 // Mappings from versit TYPE parameters to Qt contact detail subtypes |
|
173 const VersitMapping versitSubTypeMappings[] = { |
|
174 {"DOM", QContactAddress::SubTypeDomestic.latin1()}, |
|
175 {"INTL", QContactAddress::SubTypeInternational.latin1()}, |
|
176 {"POSTAL", QContactAddress::SubTypePostal.latin1()}, |
|
177 {"PARCEL", QContactAddress::SubTypeParcel.latin1()}, |
|
178 {"VOICE", QContactPhoneNumber::SubTypeVoice.latin1()}, |
|
179 {"CELL", QContactPhoneNumber::SubTypeMobile.latin1()}, |
|
180 {"MODEM", QContactPhoneNumber::SubTypeModem.latin1()}, |
|
181 {"CAR", QContactPhoneNumber::SubTypeCar.latin1()}, |
|
182 {"VIDEO", QContactPhoneNumber::SubTypeVideo.latin1()}, |
|
183 {"FAX", QContactPhoneNumber::SubTypeFax.latin1()}, |
|
184 {"BBS", QContactPhoneNumber::SubTypeBulletinBoardSystem.latin1()}, |
|
185 {"PAGER", QContactPhoneNumber::SubTypePager.latin1()}, |
|
186 {"SWIS", QContactOnlineAccount::SubTypeVideoShare.latin1()}, |
|
187 {"VOIP", QContactOnlineAccount::SubTypeSipVoip.latin1()} |
|
188 }; |
|
189 //! [Property type parameter mappings] |
|
190 |
73 |
191 //! [File extension mappings] |
74 //! [File extension mappings] |
192 // Mappings from mime types to file extensions |
75 // Mappings from mime types to file extensions |
193 const VersitMapping versitFileExtensionMappings[] = { |
76 const VersitMapping versitFileExtensionMappings[] = { |
194 {"application/octet-stream", "obj"}, |
77 {"application/octet-stream", "obj"}, |