blob: ef25206203e6fb14a6e91b8003bda1303d6c6700 [file] [log] [blame]
/*
* 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;
}
};