/* * Copyright 2012 Research In Motion Limited. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var ATTRIBUTE_KIND, ATTRIBUTE_SUBKIND, kindAttributeMap = {}, subKindAttributeMap = {}, _TITLE = 26, _START_DATE = 43, _END_DATE = 44; function populateKindAttributeMap() { ATTRIBUTE_KIND = { Invalid: 0, Phone: 1, Fax: 2, Pager: 3, Email: 4, Website: 5, Feed: 6, Profile: 7, Family: 8, Person: 9, Date: 10, Group: 11, Name: 12, StockSymbol: 13, Ranking: 14, OrganizationAffiliation: 15, Education: 16, Note: 17, InstantMessaging: 18, VideoChat: 19, ConnectionCount: 20, Hidden: 21, Biography: 22, Sound: 23, Notification: 24, MessageSound: 25, MessageNotification: 26 }; kindAttributeMap[ATTRIBUTE_KIND.Phone] = "phoneNumbers"; kindAttributeMap[ATTRIBUTE_KIND.Fax] = "faxNumbers"; kindAttributeMap[ATTRIBUTE_KIND.Pager] = "pagerNumber"; kindAttributeMap[ATTRIBUTE_KIND.Email] = "emails"; kindAttributeMap[ATTRIBUTE_KIND.Website] = "urls"; kindAttributeMap[ATTRIBUTE_KIND.Profile] = "socialNetworks"; kindAttributeMap[ATTRIBUTE_KIND.OrganizationAffiliation] = "organizations"; kindAttributeMap[ATTRIBUTE_KIND.Education] = "education"; kindAttributeMap[ATTRIBUTE_KIND.Note] = "note"; kindAttributeMap[ATTRIBUTE_KIND.InstantMessaging] = "ims"; kindAttributeMap[ATTRIBUTE_KIND.VideoChat] = "videoChat"; kindAttributeMap[ATTRIBUTE_KIND.Sound] = "ringtone"; } function populateSubKindAttributeMap() { ATTRIBUTE_SUBKIND = { Invalid: 0, Other: 1, Home: 2, Work: 3, PhoneMobile: 4, FaxDirect: 5, Blog: 6, WebsiteResume: 7, WebsitePortfolio: 8, WebsitePersonal: 9, WebsiteCompany: 10, ProfileFacebook: 11, ProfileTwitter: 12, ProfileLinkedIn: 13, ProfileGist: 14, ProfileTungle: 15, FamilySpouse: 16, FamilyChild: 17, FamilyParent: 18, PersonManager: 19, PersonAssistant: 20, DateBirthday: 21, DateAnniversary: 22, GroupDepartment: 23, NameGiven: 24, NameSurname: 25, Title: _TITLE, NameSuffix: 27, NameMiddle: 28, NameNickname: 29, NameAlias: 30, NameDisplayName: 31, NamePhoneticGiven: 32, NamePhoneticSurname: 33, StockSymbolNyse: 34, StockSymbolNasdaq: 35, StockSymbolTse: 36, StockSymbolLse: 37, StockSymbolTsx: 38, RankingKlout: 39, RankingTrstRank: 40, OrganizationAffiliationName: 41, OrganizationAffiliationPhoneticName: 42, OrganizationAffiliationTitle: _TITLE, StartDate: _START_DATE, EndDate: _END_DATE, OrganizationAffiliationDetails: 45, EducationInstitutionName: 46, EducationStartDate: _START_DATE, EducationEndDate: _END_DATE, EducationDegree: 47, EducationConcentration: 48, EducationActivities: 49, EducationNotes: 50, InstantMessagingBbmPin: 51, InstantMessagingAim: 52, InstantMessagingAliwangwang: 53, InstantMessagingGoogleTalk: 54, InstantMessagingSametime: 55, InstantMessagingIcq: 56, InstantMessagingIrc: 57, InstantMessagingJabber: 58, InstantMessagingMsLcs: 59, InstantMessagingMsn: 60, InstantMessagingQq: 61, InstantMessagingSkype: 62, InstantMessagingYahooMessenger: 63, InstantMessagingYahooMessengerJapan: 64, VideoChatBbPlaybook: 65, HiddenLinkedIn: 66, HiddenFacebook: 67, HiddenTwitter: 68, ConnectionCountLinkedIn: 69, ConnectionCountFacebook: 70, ConnectionCountTwitter: 71, HiddenChecksum: 72, HiddenSpeedDial: 73, BiographyFacebook: 74, BiographyTwitter: 75, BiographyLinkedIn: 76, SoundRingtone: 77, SimContactType: 78, EcoID: 79, Personal: 80, StockSymbolAll: 81, NotificationVibration: 82, NotificationLED: 83, MessageNotificationVibration: 84, MessageNotificationLED: 85, MessageNotificationDuringCall: 86, VideoChatPin: 87 }; subKindAttributeMap[ATTRIBUTE_SUBKIND.Other] = "other"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Home] = "home"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Work] = "work"; subKindAttributeMap[ATTRIBUTE_SUBKIND.PhoneMobile] = "mobile"; subKindAttributeMap[ATTRIBUTE_SUBKIND.FaxDirect] = "direct"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Blog] = "blog"; subKindAttributeMap[ATTRIBUTE_SUBKIND.WebsiteResume] = "resume"; subKindAttributeMap[ATTRIBUTE_SUBKIND.WebsitePortfolio] = "portfolio"; subKindAttributeMap[ATTRIBUTE_SUBKIND.WebsitePersonal] = "personal"; subKindAttributeMap[ATTRIBUTE_SUBKIND.WebsiteCompany] = "company"; subKindAttributeMap[ATTRIBUTE_SUBKIND.ProfileFacebook] = "facebook"; subKindAttributeMap[ATTRIBUTE_SUBKIND.ProfileTwitter] = "twitter"; subKindAttributeMap[ATTRIBUTE_SUBKIND.ProfileLinkedIn] = "linkedin"; subKindAttributeMap[ATTRIBUTE_SUBKIND.ProfileGist] = "gist"; subKindAttributeMap[ATTRIBUTE_SUBKIND.ProfileTungle] = "tungle"; subKindAttributeMap[ATTRIBUTE_SUBKIND.DateBirthday] = "birthday"; subKindAttributeMap[ATTRIBUTE_SUBKIND.DateAnniversary] = "anniversary"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameGiven] = "givenName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameSurname] = "familyName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Title] = "honorificPrefix"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameSuffix] = "honorificSuffix"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameMiddle] = "middleName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NamePhoneticGiven] = "phoneticGivenName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NamePhoneticSurname] = "phoneticFamilyName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameNickname] = "nickname"; subKindAttributeMap[ATTRIBUTE_SUBKIND.NameDisplayName] = "displayName"; subKindAttributeMap[ATTRIBUTE_SUBKIND.OrganizationAffiliationName] = "name"; subKindAttributeMap[ATTRIBUTE_SUBKIND.OrganizationAffiliationDetails] = "department"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Title] = "title"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingBbmPin] = "BbmPin"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingAim] = "Aim"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingAliwangwang] = "Aliwangwang"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingGoogleTalk] = "GoogleTalk"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingSametime] = "Sametime"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingIcq] = "Icq"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingJabber] = "Jabber"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingMsLcs] = "MsLcs"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingSkype] = "Skype"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingYahooMessenger] = "YahooMessenger"; subKindAttributeMap[ATTRIBUTE_SUBKIND.InstantMessagingYahooMessengerJapan] = "YahooMessegerJapan"; subKindAttributeMap[ATTRIBUTE_SUBKIND.VideoChatBbPlaybook] = "BbPlaybook"; subKindAttributeMap[ATTRIBUTE_SUBKIND.SoundRingtone] = "ringtone"; subKindAttributeMap[ATTRIBUTE_SUBKIND.Personal] = "personal"; } module.exports = { getKindAttributeMap: function () { if (!ATTRIBUTE_KIND) { populateKindAttributeMap(); } return kindAttributeMap; }, getSubKindAttributeMap: function () { if (!ATTRIBUTE_SUBKIND) { populateSubKindAttributeMap(); } return subKindAttributeMap; } };