|
1 /* |
|
2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Some classes for describing imps internel data structure |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef MImpsDataAccessorApi_H |
|
20 #define MImpsDataAccessorApi_H |
|
21 |
|
22 // INCLUDES |
|
23 #include "Impsservercommon.h" |
|
24 |
|
25 // CONSTANTS |
|
26 |
|
27 enum TImpsDataType |
|
28 { |
|
29 EImpsDataTypeNone = 0, // This is for elements not having value in DTD |
|
30 EImpsDataTypeInt = 1, |
|
31 EImpsDataTypeDesc = 2, |
|
32 EImpsDataTypeDesc8 = 3, |
|
33 EImpsDataTypeBoolean = 4, |
|
34 EImpsDataTypeNotSupported = 5, // Data accessor does not support this |
|
35 EImpsDataTypeExt = 6, // Data type for extension attributes |
|
36 EImpsDataTypeContentData = 7 // special data type for content data handling |
|
37 }; |
|
38 |
|
39 enum TImpsKeyType |
|
40 { |
|
41 EImpsKeyTypeIM = 0, // IM |
|
42 EImpsKeyTypePre = 1 // Presence |
|
43 }; |
|
44 |
|
45 |
|
46 // CLASS DECLARATION |
|
47 class CImpsFields; |
|
48 class RFs; |
|
49 |
|
50 // MACROS |
|
51 #define GET_INDEX( aElemvalue ) ( (aElemvalue>>16 ) & 0xFFFF ) |
|
52 #define GET_ENUM( aElemvalue ) ( aElemvalue& 0xFFFF ) |
|
53 #define CREATEKEY( elem, index ) ( ( elem& 0xFFFF ) + ( index<< 16 ) ) |
|
54 // if Upper bit is one then we have presence attribute |
|
55 #define IS_PRESENCE( aElemvalue ) ( aElemvalue>>31 ) |
|
56 |
|
57 // DATA TYPES |
|
58 |
|
59 enum TImpsPresenceContent |
|
60 { |
|
61 EImpsKeyPRPresenceSubList = KImpsKeyPresenceSubList, // duplicate!!! |
|
62 EImpsKeyPRQualifier = KImpsKeyPRQualifier, |
|
63 EImpsKeyPRPresenceValue = KImpsKeyPRPresenceValue, |
|
64 EImpsKeyPROnlineStatus = KImpsKeyPROnlineStatus, |
|
65 EImpsKeyPRRegistration = KImpsKeyPRRegistration, |
|
66 EImpsKeyPRFreeTextLocation = KImpsKeyPRFreeTextLocation, |
|
67 EImpsKeyPRPLMN = KImpsKeyPRPLMN, |
|
68 EImpsKeyPRUserAvailability = KImpsKeyPRUserAvailability, |
|
69 EImpsKeyPRPreferredLanguage = KImpsKeyPRPreferredLanguage, |
|
70 EImpsKeyPRStatusText = KImpsKeyPRStatusText, |
|
71 EImpsKeyPRStatusMood = KImpsKeyPRStatusMood, |
|
72 EImpsKeyPRAlias = KImpsKeyPRAlias, |
|
73 EImpsKeyPRClientInfo = KImpsKeyPRClientInfo, |
|
74 EImpsKeyPRClientType = KImpsKeyClientType, |
|
75 EImpsKeyPRDevManufacturer = KImpsKeyPRDevManufacturer, |
|
76 EImpsKeyPRClientProducer = KImpsKeyPRClientProducer, |
|
77 EImpsKeyPRModel = KImpsKeyPRModel, |
|
78 EImpsKeyPRClientVersion = KImpsKeyPRClientVersion, |
|
79 EImpsKeyPRLanguage = KImpsKeyPRLanguage, |
|
80 EImpsKeyPRTimeZone = KImpsKeyPRTimeZone, |
|
81 EImpsKeyPRZone = KImpsKeyPRZone, |
|
82 EImpsKeyPRGeoLocation = KImpsKeyPRGeoLocation, |
|
83 EImpsKeyPRLongitude = KImpsKeyPRLongitude, |
|
84 EImpsKeyPRLatitude = KImpsKeyPRLatitude, |
|
85 EImpsKeyPRAltitude = KImpsKeyPRAltitude, |
|
86 EImpsKeyPRAccuracy = KImpsKeyPRAccuracy, |
|
87 EImpsKeyPRAddress = KImpsKeyPRAddress, |
|
88 EImpsKeyPRCountry = KImpsKeyPRCountry, |
|
89 EImpsKeyPRCity = KImpsKeyPRCity, |
|
90 EImpsKeyPRStreet = KImpsKeyPRStreet, |
|
91 EImpsKeyPRCrossing1 = KImpsKeyPRCrossing1, |
|
92 EImpsKeyPRCrossing2 = KImpsKeyPRCrossing2, |
|
93 EImpsKeyPRBuilding = KImpsKeyPRBuilding, |
|
94 EImpsKeyPRNamedArea = KImpsKeyPRNamedArea, |
|
95 EImpsKeyPRCommCap = KImpsKeyPRCommCap, |
|
96 EImpsKeyPRCommC = KImpsKeyPRCommC, |
|
97 EImpsKeyPRCap = KImpsKeyPRCap, |
|
98 EImpsKeyPRStatus = KImpsKeyPRStatus, |
|
99 EImpsKeyPRContact = KImpsKeyPRContact, |
|
100 EImpsKeyPRNote = KImpsKeyPRNote, |
|
101 EImpsKeyPRPreferredContacts = KImpsKeyPRPreferredContacts, |
|
102 EImpsKeyPRAddrPref = KImpsKeyPRAddrPref, |
|
103 EImpsKeyPRPrefC = KImpsKeyPRPrefC, |
|
104 EImpsKeyPRCaddr = KImpsKeyPRCaddr, |
|
105 EImpsKeyPRCstatus = KImpsKeyPRCstatus, |
|
106 EImpsKeyPRCname = KImpsKeyPRCname, |
|
107 EImpsKeyPRCpriority = KImpsKeyPRCpriority, |
|
108 EImpsKeyPRStatusContent = KImpsKeyPRStatusContent, |
|
109 EImpsKeyPRDirectContent = KImpsKeyPRDirectContent, |
|
110 EImpsKeyPRReferredContent = KImpsKeyPRReferredContent, |
|
111 EImpsKeyPRContactInfo = KImpsKeyPRContactInfo, |
|
112 EImpsKeyPRContainedvCard = KImpsKeyPRContainedvCard, |
|
113 EImpsKeyPRReferredvCard = KImpsKeyPRReferredvCard, |
|
114 EImpsKeyPRExt = KImpsKeyPRExt, |
|
115 |
|
116 // CSP 1.2 |
|
117 EImpsKeyPRInf_link = KImpsKeyInf_link, |
|
118 EImpsKeyPRInfoLink = KImpsKeyInfoLink, |
|
119 EImpsKeyPRLink = KImpsKeyLink, |
|
120 EImpsKeyPRText = KImpsKeyText, |
|
121 |
|
122 EImpsKeyPREND = KImpsKeyPREND |
|
123 }; |
|
124 |
|
125 enum TImpsContent |
|
126 { |
|
127 EImpsKeySession = KImpsKeySession, |
|
128 EImpsKeySessionDescriptor = KImpsKeySessionDescriptor, |
|
129 EImpsKeySessionType = KImpsKeySessionType, |
|
130 EImpsKeySessionID = KImpsKeySessionID, |
|
131 EImpsKeyTransaction = KImpsKeyTransaction, |
|
132 EImpsKeyTransactionDescriptor = KImpsKeyTransactionDescriptor, |
|
133 EImpsKeyTransactionMode = KImpsKeyTransactionMode, |
|
134 EImpsKeyTransactionID = KImpsKeyTransactionID, |
|
135 EImpsKeyPoll = KImpsKeyPoll, |
|
136 EImpsKeyTransactionContent = KImpsKeyTransactionContent, |
|
137 EImpsKeyStatus = KImpsKeyStatus, |
|
138 EImpsKeyPolling_Request = KImpsKeyPolling_Request, |
|
139 EImpsKeyLogin_Request = KImpsKeyLogin_Request, |
|
140 EImpsKeyLogin_Response = KImpsKeyLogin_Response, |
|
141 EImpsKeyService_Request = KImpsKeyService_Request, |
|
142 EImpsKeyService_Response = KImpsKeyService_Response, |
|
143 EImpsKeyClientCapability_Request = KImpsKeyClientCapability_Request, |
|
144 EImpsKeyClientCapability_Response = KImpsKeyClientCapability_Response, |
|
145 EImpsKeyLogout_Request = KImpsKeyLogout_Request, |
|
146 EImpsKeyDisconnect = KImpsKeyDisconnect, |
|
147 EImpsKeyKeepAlive_Request = KImpsKeyKeepAlive_Request, |
|
148 EImpsKeyKeepAlive_Response = KImpsKeyKeepAlive_Response, |
|
149 EImpsKeyGetSPInfo_Request = KImpsKeyGetSPInfo_Request, |
|
150 EImpsKeyGetSPInfo_Response = KImpsKeyGetSPInfo_Response, |
|
151 EImpsKeySearch_Request = KImpsKeySearch_Request, |
|
152 EImpsKeyStopSearch_Request = KImpsKeyStopSearch_Request, |
|
153 EImpsKeySearch_Response = KImpsKeySearch_Response, |
|
154 EImpsKeyCompletionFlag = KImpsKeyCompletionFlag, |
|
155 EImpsKeyInvite_Request = KImpsKeyInvite_Request, |
|
156 EImpsKeyInvite_Response = KImpsKeyInvite_Response, |
|
157 EImpsKeyInviteUser_Request = KImpsKeyInviteUser_Request, |
|
158 EImpsKeyInviteUser_Response = KImpsKeyInviteUser_Response, |
|
159 EImpsKeyCancelInvite_Request = KImpsKeyCancelInvite_Request, |
|
160 EImpsKeyCancelInviteUser_Request = KImpsKeyCancelInviteUser_Request, |
|
161 EImpsKeySubscribePresence_Request = KImpsKeySubscribePresence_Request, |
|
162 EImpsKeyUnsubscribePresence_Request = KImpsKeyUnsubscribePresence_Request, |
|
163 EImpsKeyPresenceNotification_Request = KImpsKeyPresenceNotification_Request, |
|
164 EImpsKeyGetWatcherList_Request = KImpsKeyGetWatcherList_Request, |
|
165 EImpsKeyGetWatcherList_Response = KImpsKeyGetWatcherList_Response, |
|
166 EImpsKeyGetPresence_Request = KImpsKeyGetPresence_Request, |
|
167 EImpsKeyGetPresence_Response = KImpsKeyGetPresence_Response, |
|
168 EImpsKeyPresenceAuth_Request = KImpsKeyPresenceAuth_Request, |
|
169 EImpsKeyPresenceAuth_User = KImpsKeyPresenceAuth_User, |
|
170 EImpsKeyCancelAuth_Request = KImpsKeyCancelAuth_Request, |
|
171 EImpsKeyUpdatePresence_Request = KImpsKeyUpdatePresence_Request, |
|
172 EImpsKeyGetList_Request = KImpsKeyGetList_Request, |
|
173 EImpsKeyGetList_Response = KImpsKeyGetList_Response, |
|
174 EImpsKeyCreateList_Request = KImpsKeyCreateList_Request, |
|
175 EImpsKeyDeleteList_Request = KImpsKeyDeleteList_Request, |
|
176 EImpsKeyListManage_Request = KImpsKeyListManage_Request, |
|
177 EImpsKeyListManage_Response = KImpsKeyListManage_Response, |
|
178 EImpsKeyCreateAttributeList_Request = KImpsKeyCreateAttributeList_Request, |
|
179 EImpsKeyDeleteAttributeList_Request = KImpsKeyDeleteAttributeList_Request, |
|
180 EImpsKeyGetAttributeList_Request = KImpsKeyGetAttributeList_Request, |
|
181 EImpsKeyGetAttributeList_Response = KImpsKeyGetAttributeList_Response, |
|
182 EImpsKeySendMessage_Request = KImpsKeySendMessage_Request, |
|
183 EImpsKeySendMessage_Response = KImpsKeySendMessage_Response, |
|
184 EImpsKeySetDeliveryMethod_Request = KImpsKeySetDeliveryMethod_Request, |
|
185 EImpsKeyGetMessageList_Request = KImpsKeyGetMessageList_Request, |
|
186 EImpsKeyGetMessageList_Response = KImpsKeyGetMessageList_Response, |
|
187 EImpsKeyRejectMessage_Request = KImpsKeyRejectMessage_Request, |
|
188 EImpsKeyMessageNotification = KImpsKeyMessageNotification, |
|
189 EImpsKeyGetMessage_Request = KImpsKeyGetMessage_Request, |
|
190 EImpsKeyGetMessage_Response = KImpsKeyGetMessage_Response, |
|
191 EImpsKeyNewMessage = KImpsKeyNewMessage, |
|
192 EImpsKeyMessageDelivered = KImpsKeyMessageDelivered, |
|
193 EImpsKeyDeliveryReport_Request = KImpsKeyDeliveryReport_Request, |
|
194 EImpsKeyDeliveryTime = KImpsKeyDeliveryTime, |
|
195 EImpsKeyForwardMessage_Request = KImpsKeyForwardMessage_Request, |
|
196 EImpsKeyGetBlockedList_Request = KImpsKeyGetBlockedList_Request, |
|
197 EImpsKeyGetBlockedList_Response = KImpsKeyGetBlockedList_Response, |
|
198 EImpsKeyBlockEntity_Request = KImpsKeyBlockEntity_Request, |
|
199 EImpsKeyCreateGroup_Request = KImpsKeyCreateGroup_Request, |
|
200 EImpsKeyDeleteGroup_Request = KImpsKeyDeleteGroup_Request, |
|
201 EImpsKeyJoinGroup_Request = KImpsKeyJoinGroup_Request, |
|
202 EImpsKeyJoinGroup = KImpsKeyJoinGroup, |
|
203 EImpsKeySubscribeNotification = KImpsKeySubscribeNotification, |
|
204 EImpsKeyJoinGroup_Response = KImpsKeyJoinGroup_Response, |
|
205 EImpsKeyLeaveGroup_Request = KImpsKeyLeaveGroup_Request, |
|
206 EImpsKeyLeaveGroup_Response = KImpsKeyLeaveGroup_Response, |
|
207 EImpsKeyGetGroupMembers_Request = KImpsKeyGetGroupMembers_Request, |
|
208 EImpsKeyGetGroupMembers_Response = KImpsKeyGetGroupMembers_Response, |
|
209 EImpsKeyAddGroupMembers_Request = KImpsKeyAddGroupMembers_Request, |
|
210 EImpsKeyRemoveGroupMembers_Request = KImpsKeyRemoveGroupMembers_Request, |
|
211 EImpsKeyMemberAccess_Request = KImpsKeyMemberAccess_Request, |
|
212 EImpsKeyGetGroupProps_Request = KImpsKeyGetGroupProps_Request, |
|
213 EImpsKeyGetGroupProps_Response = KImpsKeyGetGroupProps_Response, |
|
214 EImpsKeySetGroupProps_Request = KImpsKeySetGroupProps_Request, |
|
215 EImpsKeyRejectList_Request = KImpsKeyRejectList_Request, |
|
216 EImpsKeyRejectList_Response = KImpsKeyRejectList_Response, |
|
217 EImpsKeySubscribeGroupNotice_Request = KImpsKeySubscribeGroupNotice_Request, |
|
218 EImpsKeySubscribeGroupNotice_Response = KImpsKeySubscribeGroupNotice_Response, |
|
219 EImpsKeyGroupChangeNotice = KImpsKeyGroupChangeNotice, |
|
220 EImpsKeyDigestBytes = KImpsKeyDigestBytes, |
|
221 EImpsKeyDigestSchema = KImpsKeyDigestSchema, |
|
222 EImpsKeyPassword = KImpsKeyPassword, |
|
223 EImpsKeyNonce = KImpsKeyNonce, |
|
224 EImpsKeyCapabilityRequest = KImpsKeyCapabilityRequest, |
|
225 EImpsKeyCapabilityList = KImpsKeyCapabilityList, |
|
226 EImpsKeyClientType = KImpsKeyClientType, |
|
227 EImpsKeyInitialDeliveryMethod = KImpsKeyInitialDeliveryMethod, |
|
228 EImpsKeyAnyContent = KImpsKeyAnyContent, |
|
229 EImpsKeyAcceptedCharSet = KImpsKeyAcceptedCharSet, |
|
230 EImpsKeyAcceptedContentType = KImpsKeyAcceptedContentType, |
|
231 EImpsKeyAcceptedTransferEncoding = KImpsKeyAcceptedTransferEncoding, |
|
232 EImpsKeyAcceptedContentLength = KImpsKeyAcceptedContentLength, |
|
233 EImpsKeySupportedBearer = KImpsKeySupportedBearer, |
|
234 EImpsKeyMultiTrans = KImpsKeyMultiTrans, |
|
235 EImpsKeyParserSize = KImpsKeyParserSize, |
|
236 EImpsKeySupportedCIRMethod = KImpsKeySupportedCIRMethod, |
|
237 EImpsKeyUDPPort = KImpsKeyUDPPort, |
|
238 EImpsKeyTCPAddress = KImpsKeyTCPAddress, |
|
239 EImpsKeyTCPPort = KImpsKeyTCPPort, |
|
240 EImpsKeyServerPollMin = KImpsKeyServerPollMin, |
|
241 EImpsKeyDefaultLanguage = KImpsKeyDefaultLanguage, |
|
242 EImpsKeyResult = KImpsKeyResult, |
|
243 EImpsKeyCode = KImpsKeyCode, |
|
244 EImpsKeyDescription = KImpsKeyDescription, |
|
245 EImpsKeyDetailedResult = KImpsKeyDetailedResult, |
|
246 EImpsKeySessionCookie = KImpsKeySessionCookie, |
|
247 EImpsKeySender = KImpsKeySender, |
|
248 EImpsKeyRecipient = KImpsKeyRecipient, |
|
249 EImpsKeyUser = KImpsKeyUser, |
|
250 EImpsKeyGroup = KImpsKeyGroup, |
|
251 EImpsKeyUserID = KImpsKeyUserID, |
|
252 EImpsKeyClientID = KImpsKeyClientID, |
|
253 EImpsKeyGroupID = KImpsKeyGroupID, |
|
254 EImpsKeyMessageID = KImpsKeyMessageID, |
|
255 EImpsKeyMessageURI = KImpsKeyMessageURI, |
|
256 EImpsKeyScreenName = KImpsKeyScreenName, |
|
257 EImpsKeyNickName = KImpsKeyNickName, |
|
258 EImpsKeyURLList = KImpsKeyURLList, |
|
259 EImpsKeyURL = KImpsKeyURL, |
|
260 EImpsKeyMSISDN = KImpsKeyMSISDN, |
|
261 EImpsKeyGroupList = KImpsKeyGroupList, |
|
262 EImpsKeyUserList = KImpsKeyUserList, |
|
263 EImpsKeyContactList = KImpsKeyContactList, |
|
264 EImpsKeyDefaultContactList = KImpsKeyDefaultContactList, |
|
265 EImpsKeyNickList = KImpsKeyNickList, |
|
266 EImpsKeyAddNickList = KImpsKeyAddNickList, |
|
267 EImpsKeyRemoveNickList = KImpsKeyRemoveNickList, |
|
268 EImpsKeyDefaultList = KImpsKeyDefaultList, |
|
269 EImpsKeySearchPairList = KImpsKeySearchPairList, |
|
270 EImpsKeySearchElement = KImpsKeySearchElement, |
|
271 EImpsKeySearchString = KImpsKeySearchString, |
|
272 EImpsKeySearchLimit = KImpsKeySearchLimit, |
|
273 EImpsKeySearchID = KImpsKeySearchID, |
|
274 EImpsKeySearchIndex = KImpsKeySearchIndex, |
|
275 EImpsKeySearchFindings = KImpsKeySearchFindings, |
|
276 EImpsKeySearchResult = KImpsKeySearchResult, |
|
277 EImpsKeyInviteID = KImpsKeyInviteID, |
|
278 EImpsKeyInviteType = KImpsKeyInviteType, |
|
279 EImpsKeyInviteNote = KImpsKeyInviteNote, |
|
280 EImpsKeyAcceptance = KImpsKeyAcceptance, |
|
281 EImpsKeyResponseNote = KImpsKeyResponseNote, |
|
282 EImpsKeyDefaultAttributeList = KImpsKeyDefaultAttributeList, |
|
283 EImpsKeyPresence = KImpsKeyPresence, |
|
284 EImpsKeyPresenceSubList = KImpsKeyPresenceSubList, |
|
285 EImpsKeyKeepAliveTime = KImpsKeyKeepAliveTime, |
|
286 EImpsKeyTimeToLive = KImpsKeyTimeToLive, |
|
287 EImpsKeySName = KImpsKeySName, |
|
288 EImpsKeyName = KImpsKeyName, |
|
289 EImpsKeyValue = KImpsKeyValue, |
|
290 EImpsKeyValidity = KImpsKeyValidity, |
|
291 EImpsKeyMessageInfo = KImpsKeyMessageInfo, |
|
292 EImpsKeyDateTime = KImpsKeyDateTime, |
|
293 EImpsKeyMessageCount = KImpsKeyMessageCount, |
|
294 EImpsKeyDeliveryReport = KImpsKeyDeliveryReport, |
|
295 EImpsKeyDeliveryMethod = KImpsKeyDeliveryMethod, |
|
296 EImpsKeyBlockList = KImpsKeyBlockList, |
|
297 EImpsKeyGrantList = KImpsKeyGrantList, |
|
298 EImpsKeyEntityList = KImpsKeyEntityList, |
|
299 EImpsKeyAddList = KImpsKeyAddList, |
|
300 EImpsKeyRemoveList = KImpsKeyRemoveList, |
|
301 EImpsKeyInUse = KImpsKeyInUse, |
|
302 EImpsKeyContactListProperties = KImpsKeyContactListProperties, |
|
303 EImpsKeyGroupProperties = KImpsKeyGroupProperties, |
|
304 EImpsKeyOwnProperties = KImpsKeyOwnProperties, |
|
305 EImpsKeyProperty = KImpsKeyProperty, |
|
306 EImpsKeyWelcomeNote = KImpsKeyWelcomeNote, |
|
307 EImpsKeyJoinedRequest = KImpsKeyJoinedRequest, |
|
308 EImpsKeyAdmin = KImpsKeyAdmin, |
|
309 EImpsKeyMod = KImpsKeyMod, |
|
310 EImpsKeyUsers = KImpsKeyUsers, |
|
311 EImpsKeySubscribeType = KImpsKeySubscribeType, |
|
312 EImpsKeyJoined = KImpsKeyJoined, |
|
313 EImpsKeyLeft = KImpsKeyLeft, |
|
314 EImpsKeyLogo = KImpsKeyLogo, |
|
315 EImpsKeyContentType = KImpsKeyContentType, |
|
316 EImpsKeyContentData = KImpsKeyContentData, |
|
317 EImpsKeyContentSize = KImpsKeyContentSize, |
|
318 EImpsKeyContentEncoding = KImpsKeyContentEncoding, |
|
319 EImpsKeyAllFunctionsRequest = KImpsKeyAllFunctionsRequest, |
|
320 EImpsKeyAllFunctions = KImpsKeyAllFunctions, |
|
321 EImpsKeyFunctions = KImpsKeyFunctions, |
|
322 EImpsKeyWVCSPFeat = KImpsKeyWVCSPFeat, |
|
323 EImpsKeyFundamentalFeat = KImpsKeyFundamentalFeat, |
|
324 EImpsKeyPresenceFeat = KImpsKeyPresenceFeat, |
|
325 EImpsKeyIMFeat = KImpsKeyIMFeat, |
|
326 EImpsKeyGroupFeat = KImpsKeyGroupFeat, |
|
327 EImpsKeyServiceFunc = KImpsKeyServiceFunc, |
|
328 EImpsKeySearchFunc = KImpsKeySearchFunc, |
|
329 EImpsKeyInviteFunc = KImpsKeyInviteFunc, |
|
330 EImpsKeyContListFunc = KImpsKeyContListFunc, |
|
331 EImpsKeyPresenceAuthFunc = KImpsKeyPresenceAuthFunc, |
|
332 EImpsKeyPresenceDeliverFunc = KImpsKeyPresenceDeliverFunc, |
|
333 EImpsKeyAttListFunc = KImpsKeyAttListFunc, |
|
334 EImpsKeyIMSendFunc = KImpsKeyIMSendFunc, |
|
335 EImpsKeyIMReceiveFunc = KImpsKeyIMReceiveFunc, |
|
336 EImpsKeyIMAuthFunc = KImpsKeyIMAuthFunc, |
|
337 EImpsKeyGroupMgmtFunc = KImpsKeyGroupMgmtFunc, |
|
338 EImpsKeyGroupUseFunc = KImpsKeyGroupUseFunc, |
|
339 EImpsKeyGroupAuthFunc = KImpsKeyGroupAuthFunc, |
|
340 EImpsKeyGETSPI = KImpsKeyGETSPI, |
|
341 EImpsKeySRCH = KImpsKeySRCH, |
|
342 EImpsKeySTSRC = KImpsKeySTSRC, |
|
343 EImpsKeyINVIT = KImpsKeyINVIT, |
|
344 EImpsKeyCAINV = KImpsKeyCAINV, |
|
345 EImpsKeyGCLI = KImpsKeyGCLI, |
|
346 EImpsKeyCCLI = KImpsKeyCCLI, |
|
347 EImpsKeyDCLI = KImpsKeyDCLI, |
|
348 EImpsKeyMCLS = KImpsKeyMCLS, |
|
349 EImpsKeyGETWL = KImpsKeyGETWL, |
|
350 EImpsKeyREACT = KImpsKeyREACT, |
|
351 EImpsKeyCAAUT = KImpsKeyCAAUT, |
|
352 EImpsKeyGETPR = KImpsKeyGETPR, |
|
353 EImpsKeyUPDPR = KImpsKeyUPDPR, |
|
354 EImpsKeyCALI = KImpsKeyCALI, |
|
355 EImpsKeyDALI = KImpsKeyDALI, |
|
356 EImpsKeyGALS = KImpsKeyGALS, |
|
357 EImpsKeyMDELIV = KImpsKeyMDELIV, |
|
358 EImpsKeyFWMSG = KImpsKeyFWMSG, |
|
359 EImpsKeySETD = KImpsKeySETD, |
|
360 EImpsKeyGETLM = KImpsKeyGETLM, |
|
361 EImpsKeyGETM = KImpsKeyGETM, |
|
362 EImpsKeyREJCM = KImpsKeyREJCM, |
|
363 EImpsKeyNOTIF = KImpsKeyNOTIF, |
|
364 EImpsKeyNEWM = KImpsKeyNEWM, |
|
365 EImpsKeyGLBLU = KImpsKeyGLBLU, |
|
366 EImpsKeyBLENT = KImpsKeyBLENT, |
|
367 EImpsKeyCREAG = KImpsKeyCREAG, |
|
368 EImpsKeyDELGR = KImpsKeyDELGR, |
|
369 EImpsKeyGETGP = KImpsKeyGETGP, |
|
370 EImpsKeySETGP = KImpsKeySETGP, |
|
371 EImpsKeySUBGCN = KImpsKeySUBGCN, |
|
372 EImpsKeyGRCHN = KImpsKeyGRCHN, |
|
373 EImpsKeyGETGM = KImpsKeyGETGM, |
|
374 EImpsKeyADDGM = KImpsKeyADDGM, |
|
375 EImpsKeyRMVGM = KImpsKeyRMVGM, |
|
376 EImpsKeyMBRAC = KImpsKeyMBRAC, |
|
377 EImpsKeyREJEC = KImpsKeyREJEC, |
|
378 EImpsKeyPureData = KImpsKeyPureData, |
|
379 // CSP 1.2 additions |
|
380 EImpsKeyExtBlock = KImpsKeyExtBlock, |
|
381 EImpsKeyAPIClient = KImpsKeyAPIClient, |
|
382 EImpsKeyAgreedCapabilityList = KImpsKeyAgreedCapabilityList, |
|
383 EImpsKeyExtended_Request = KImpsKeyExtended_Request, |
|
384 EImpsKeyExtended_Response = KImpsKeyExtended_Response, |
|
385 EImpsKeyExtendedData = KImpsKeyExtendedData, |
|
386 EImpsKeyOtherServer = KImpsKeyOtherServer, |
|
387 EImpsKeyPresenceAttributeNSName = KImpsKeyPresenceAttributeNSName, |
|
388 EImpsKeyReceiveList = KImpsKeyReceiveList, |
|
389 EImpsKeySessionNSName = KImpsKeySessionNSName, |
|
390 EImpsKeyTransactionNSName = KImpsKeyTransactionNSName, |
|
391 EImpsKeyVerifyID_Request = KImpsKeyVerifyID_Request, |
|
392 EImpsKeyMF = KImpsKeyMF, |
|
393 EImpsKeyMG = KImpsKeyMG, |
|
394 EImpsKeyMM = KImpsKeyMM, |
|
395 EImpsKeyAuto_Subscribe = KImpsKeyAuto_Subscribe, |
|
396 EImpsKeyGetReactiveAuthStatus_Request = KImpsKeyGetReactiveAuthStatus_Request, |
|
397 EImpsKeyGetReactiveAuthStatus_Response = KImpsKeyGetReactiveAuthStatus_Response, |
|
398 EImpsKeyAdminMapList = KImpsKeyAdminMapList, |
|
399 EImpsKeyAdminMapping = KImpsKeyAdminMapping, |
|
400 EImpsKeyGetJoinedUsers_Request = KImpsKeyGetJoinedUsers_Request, |
|
401 EImpsKeyGetJoinedUsers_Respone = KImpsKeyGetJoinedUsers_Respone, |
|
402 EImpsKeyMapping = KImpsKeyMapping, |
|
403 EImpsKeyUserMapList = KImpsKeyUserMapList, |
|
404 EImpsKeyUserMapping = KImpsKeyUserMapping, |
|
405 EImpsKeyGETAUT = KImpsKeyGETAUT, |
|
406 EImpsKeyGETJU = KImpsKeyGETJU, |
|
407 EImpsKeyMP = KImpsKeyMP, |
|
408 EImpsKeyVRID = KImpsKeyVRID, |
|
409 EImpsKeyVerifyIDFunc = KImpsKeyVerifyIDFunc, |
|
410 EImpsKeyCIR = KImpsKeyCIR, |
|
411 EImpsKeyDomain = KImpsKeyDomain, |
|
412 EImpsKeyHistoryPeriod = KImpsKeyHistoryPeriod, |
|
413 EImpsKeyIDList = KImpsKeyIDList, |
|
414 EImpsKeyMaxWatcherList = KImpsKeyMaxWatcherList, |
|
415 EImpsKeyReactiveAuthState = KImpsKeyReactiveAuthState, |
|
416 EImpsKeyReactiveAuthStatus = KImpsKeyReactiveAuthStatus, |
|
417 EImpsKeyReactiveAuthStatusList = KImpsKeyReactiveAuthStatusList, |
|
418 EImpsKeyWatcher = KImpsKeyWatcher, |
|
419 EImpsKeyWatcherStatus = KImpsKeyWatcherStatus, |
|
420 EImpsKeyVersionList = KImpsKeyVersionList, |
|
421 EImpsKeyEND = KImpsKeyEND |
|
422 }; |
|
423 |
|
424 // CLASS DECLARATION |
|
425 |
|
426 /** |
|
427 * MImpsKey class |
|
428 * Pure virtual key class |
|
429 */ |
|
430 class MImpsKey |
|
431 { |
|
432 public: // Constructors and destructor |
|
433 |
|
434 /** |
|
435 * Destructor |
|
436 */ |
|
437 virtual void Destroy() = 0; |
|
438 |
|
439 public: // New functions |
|
440 |
|
441 /** |
|
442 * Add new elem to the key |
|
443 * @param aElemvalue Element value |
|
444 * @param aKeyType Key type |
|
445 * @return void |
|
446 */ |
|
447 virtual void AddL( const TInt aElemvalue , |
|
448 enum TImpsKeyType aKeyType = EImpsKeyTypeIM ) = 0; |
|
449 |
|
450 /** |
|
451 * Count the elements in the key |
|
452 * @return TInt Number of elements in key |
|
453 */ |
|
454 virtual TInt Count( ) const = 0; |
|
455 |
|
456 /** |
|
457 * Pop the last element from the key |
|
458 * @param how many items to pop. default is 1 |
|
459 * If too much is tried the the function leaves |
|
460 * @return void |
|
461 */ |
|
462 virtual void PopL( TInt aCount = 1 ) = 0; |
|
463 |
|
464 /** |
|
465 * Get the requested element from the key |
|
466 * @return TInt |
|
467 */ |
|
468 virtual TInt GetElementL( const TInt aIndex, |
|
469 TImpsKeyType& aKeyType ) const = 0; |
|
470 |
|
471 /** |
|
472 * Replaces the last element in the key |
|
473 * @return void |
|
474 */ |
|
475 virtual void ReplaceLastL( const TInt aElemvalue, |
|
476 enum TImpsKeyType = EImpsKeyTypeIM ) = 0; |
|
477 |
|
478 /** |
|
479 * Resets the key |
|
480 * @return void |
|
481 */ |
|
482 virtual void Reset() = 0; |
|
483 |
|
484 /** |
|
485 * Equal operator |
|
486 * @param aKey to compare with |
|
487 * @return 1 = true, 0 is false |
|
488 */ |
|
489 virtual TInt Compare( MImpsKey &aKey ) = 0; |
|
490 }; |
|
491 |
|
492 |
|
493 /** |
|
494 * If restore functions return EFalse then the output parameter is undefined |
|
495 */ |
|
496 class MImpsDataAccessor |
|
497 { |
|
498 public: |
|
499 /** |
|
500 * Accessor creates an instance of MImpsKey entity. |
|
501 * It is NOT deleted by Accessor! You must do that yourself. |
|
502 * @return MImpsKey new key |
|
503 */ |
|
504 virtual MImpsKey* NewKeyL() = 0; |
|
505 |
|
506 /** |
|
507 * descriptor value mutator |
|
508 * key is a byte sequence, which defines how value is stored |
|
509 * @param aKey Key |
|
510 * @param aValue Value |
|
511 */ |
|
512 virtual void StoreDescL( MImpsKey* aKey, TPtrC aValue ) = 0; |
|
513 |
|
514 /** |
|
515 * descriptor value mutator |
|
516 * key is a byte sequence, which defines how value is stored |
|
517 * @param aKey Key |
|
518 * @param aValue Value |
|
519 */ |
|
520 virtual void StoreDesc8L( MImpsKey* aKey, TPtrC8 aValue ) = 0; |
|
521 |
|
522 /** |
|
523 * integer value mutator |
|
524 * key is a byte sequence, which defines how value is stored |
|
525 * @param aKey Key |
|
526 * @param aValue Value |
|
527 */ |
|
528 virtual void StoreIntegerL( MImpsKey* aKey, TInt aValue ) = 0; |
|
529 |
|
530 /** |
|
531 * boolean value mutator |
|
532 * key is a byte sequence, which defines how value is stored |
|
533 * @param aKey Key |
|
534 * @param aValue Value |
|
535 */ |
|
536 virtual void StoreBooleanL( MImpsKey* aKey, TBool aValue ) = 0; |
|
537 |
|
538 /** |
|
539 * store empty value |
|
540 * key is a byte sequence, which defines how value is stored |
|
541 * @param aKey Key |
|
542 */ |
|
543 virtual void StoreEmptyL( MImpsKey* aKey ) = 0; |
|
544 |
|
545 /** |
|
546 * extension attribute mutator |
|
547 * key is a byte sequence, which defines how value is stored |
|
548 * @param aKey Key |
|
549 * @param aName Extension attribute name |
|
550 * @param aValue Extension attribute value |
|
551 */ |
|
552 virtual void StoreExtL( MImpsKey* aKey, |
|
553 TPtrC8 aName, TPtrC8 aValue ) = 0; |
|
554 |
|
555 /** |
|
556 * descriptor value accessor |
|
557 * Function return EFalse if key is not found |
|
558 * Function return ETrue if key is found |
|
559 * @param aKey Key for restore |
|
560 * @param aDes OUT Pointer to TDesC object. |
|
561 */ |
|
562 virtual TBool RestoreDescL( MImpsKey* aKey, TDesC*& aDes ) = 0; |
|
563 |
|
564 /** |
|
565 * descriptor value accessor |
|
566 * Function return EFalse if key is not found |
|
567 * Function return ETrue if key is found |
|
568 * @param aKey Key for restore |
|
569 * @param aBuf OUT Pointer to TDesC8 object |
|
570 */ |
|
571 virtual TBool RestoreDesc8L( MImpsKey* aKey, TDesC8*& aDes ) = 0; |
|
572 |
|
573 /** |
|
574 * integer value accessor |
|
575 * Function return EFalse if key is not found |
|
576 * Function return ETrue if key is found |
|
577 * @param aKey Key for restore |
|
578 * @param aBuf OUT TInt object |
|
579 */ |
|
580 virtual TBool RestoreIntegerL( MImpsKey* aKey, TInt& aInt ) = 0; |
|
581 |
|
582 /** |
|
583 * Boolean value accessor |
|
584 * Function return EFalse if key is not found |
|
585 * Function return ETrue if key is found |
|
586 * @param aKey Key for restore |
|
587 * @param aBuf OUT Boolean object |
|
588 */ |
|
589 virtual TBool RestoreBooleanL( MImpsKey* aKey, TBool& aBool ) = 0; |
|
590 |
|
591 /** |
|
592 * empty value accessor |
|
593 * Function return EFalse if key is not found |
|
594 * Function return ETrue if key is found |
|
595 * @param aKey Key for restore |
|
596 */ |
|
597 virtual TBool RestoreEmptyL( MImpsKey* aKey ) = 0; |
|
598 |
|
599 /** |
|
600 * extension attribute accessor |
|
601 * Function return EFalse if key is not found |
|
602 * Function return ETrue if key is found |
|
603 * @param aKey Key for restore |
|
604 * @param aName OUT Pointer to TDesC8 object |
|
605 * @param aValue OUT Pointer to TDesC8 object |
|
606 */ |
|
607 virtual TBool RestoreExtL( MImpsKey* aKey, |
|
608 TDesC8*& aName, TDesC8*& aValue ) = 0; |
|
609 |
|
610 /** |
|
611 * data type accessor |
|
612 * Leaves with KErrArgument if illegal key not in WV DTD. |
|
613 * return data type. Note that one possible value is "not supported". |
|
614 * @param aKey Key type |
|
615 * @return TImpsDataType Datatype |
|
616 */ |
|
617 virtual TImpsDataType KeyTypeL( MImpsKey* aKey ) = 0; |
|
618 |
|
619 /** |
|
620 * Finds the alternative key |
|
621 * This function finds if the supplied key has a child in the |
|
622 * datastorage and returns the information of the element. |
|
623 * This is usefull with e.g. TransactionContent |
|
624 * @param aKey key in |
|
625 * @param aEnum Enum value out |
|
626 * @param aIndex index out |
|
627 * @param aType type out |
|
628 * @return ETrue if found, EFalse if not found |
|
629 */ |
|
630 virtual TBool RestoreAlternativeL( const MImpsKey* aKey, |
|
631 TInt& aEnum, |
|
632 TInt& aIndex, |
|
633 TImpsKeyType& aType ) const = 0; |
|
634 |
|
635 /** |
|
636 * Checks if the key exists |
|
637 * This function finds if the supplied key exists as it self or with |
|
638 * children and returns ETrue or EFalse |
|
639 * @param aKey key in |
|
640 * @return ETrue if found, EFalse if not found |
|
641 */ |
|
642 virtual TBool CheckBranchExistenceL( const MImpsKey* aKey ) const = 0; |
|
643 |
|
644 /** |
|
645 * Copy specific part of the message to the current message |
|
646 * @param aSource where to copy data elements |
|
647 * @param aKey which part of message is copied. NULL means that all data |
|
648 * is copied. |
|
649 */ |
|
650 virtual void CopyDataL( |
|
651 MImpsDataAccessor& aSource, |
|
652 MImpsKey* aKey = NULL ) = 0; |
|
653 |
|
654 /** |
|
655 * Get CImpsFields |
|
656 * @return CImpsFields* |
|
657 */ |
|
658 virtual CImpsFields* GetImpsFields( ) const = 0; |
|
659 |
|
660 #ifdef _DEBUG |
|
661 virtual void DumpToFileL( RFs& aFs, const TDesC& aFilename ) = 0; |
|
662 #endif |
|
663 }; |
|
664 |
|
665 |
|
666 |
|
667 #endif // MImpsDataAccessorApi_H |
|
668 |
|
669 // End of File |