All, I've updated record.h and record.cc based on my 7100g <-> Outlook combination. I can now parse 275+ records with no unknowns, and I think its actually pretty accurate ;). Next this is to finish memos and add the ldap stuff to contacts. If anyone is loading their BB from a different office application and has some unknowns in contacts I'd liike to see them, contact me directly for that.
-edge
--- record.cc.org 2007-05-11 05:04:03.000000000 -0600
+++ record.cc 2007-05-11 05:04:55.000000000 -0600
@@ -480,29 +480,50 @@
// Contact class
// Contact field codes
-#define CFC_EMAIL 1
-#define CFC_PHONE 2
-#define CFC_FAX 3
+#define CFC_EMAIL 1
+#define CFC_PHONE 2
+#define CFC_FAX 3
#define CFC_WORK_PHONE 6
#define CFC_HOME_PHONE 7
#define CFC_MOBILE_PHONE 8
-#define CFC_PAGER 9
-#define CFC_PIN 10
-#define CFC_NAME 32 // used twice, in first/last name order
-#define CFC_COMPANY 33
+#define CFC_PAGER 9
+#define CFC_PIN 10
+#define CFC_RADIO 14 // 0x0e
+#define CFC_WORK_PHONE_2 16 // 0x10
+#define CFC_HOME_PHONE_2 17 // 0x11
+#define CFC_OTHER_PHONE 18 // 0x12
+#define CFC_NAME 32 // 0x20 used twice, in first/last name order
+#define CFC_COMPANY 33
#define CFC_DEFAULT_COMM_METHOD 34
#define CFC_ADDRESS1 35
#define CFC_ADDRESS2 36
#define CFC_ADDRESS3 37
-#define CFC_CITY 38
+#define CFC_CITY 38
#define CFC_PROVINCE 39
#define CFC_POSTAL_CODE 40
-#define CFC_COUNTRY 41
-#define CFC_TITLE 42
+#define CFC_COUNTRY 41
+#define CFC_TITLE 42 // 0x2a
#define CFC_PUBLIC_KEY 43
#define CFC_GROUP_FLAG 44
#define CFC_GROUP_LINK 52
-#define CFC_NOTES 64
+#define CFC_URL 54 // 0x36
+#define CFC_PREFIX 55 // 0x37
+#define CFC_CATEGORY 59 // 0x3B
+#define CFC_HOME_ADDRESS1 61 // 0x3D
+#define CFC_HOME_ADDRESS2 62 // 0x3E
+ // If the address 3 isn't mapped then it appears
+ // in the same field as address2 with a space
+#define CFC_HOME_ADDRESS3 63 // 0x3F
+#define CFC_NOTES 64 // 0x40
+#define CFC_USER_DEFINED_1 65 // 0x41
+#define CFC_USER_DEFINED_2 66 // 0x42
+#define CFC_USER_DEFINED_3 67 // 0x43
+#define CFC_USER_DEFINED_4 68 // 0x44
+#define CFC_HOME_CITY 69 // 0x45
+#define CFC_HOME_PROVINCE 70 // 0x46
+#define CFC_HOME_POSTAL_CODE 71 // 0x47
+#define CFC_HOME_COUNTRY 72 // 0x48
+#define CFC_IMAGE 77 // 0x4D
#define CFC_INVALID_FIELD 255
// Contact code to field table
@@ -527,6 +548,11 @@
{ CFC_MOBILE_PHONE, "MobilePhone","mobile",0, &Contact::MobilePhone, 0, 0 },
{ CFC_PAGER, "Pager", "pager",0, &Contact::Pager, 0, 0 },
{ CFC_PIN, "PIN", 0,0, &Contact::PIN, 0, 0 },
+ { CFC_RADIO, "Radio", 0,0, &Contact::Radio, 0, 0 },
+ { CFC_WORK_PHONE_2, "WorkPhone2", 0,0, &Contact::WorkPhone2, 0, 0 },
+ { CFC_HOME_PHONE_2, "HomePhone2", 0,0, &Contact::HomePhone2, 0, 0 },
+ { CFC_OTHER_PHONE, "OtherPhone", 0,0, &Contact::OtherPhone, 0, 0 },
+ //{ CFC_NAME, "Name", 0,0, &Contact::Name, 0, 0 },
{ CFC_COMPANY, "Company", "o",0, &Contact::Company, 0, 0 },
{ CFC_DEFAULT_COMM_METHOD,"DefaultCommMethod",0,0, &Contact::DefaultCommunicationsMethod, 0, 0 },
{ CFC_ADDRESS1, "Address1", 0,0, &Contact::Address1, 0, 0 },
@@ -538,7 +564,22 @@
{ CFC_COUNTRY, "Country", "c", "country", &Contact::Country, 0, 0 },
{ CFC_TITLE, "Title", "title",0, &Contact::Title, 0, 0 },
{ CFC_PUBLIC_KEY, "PublicKey", 0,0, &Contact::PublicKey, 0, 0 },
+ { CFC_URL, "URL", 0,0, &Contact::URL, 0, 0 },
+ { CFC_PREFIX, "Prefix", 0,0, &Contact::Prefix, 0, 0 },
+ { CFC_CATEGORY, "Category", 0,0, &Contact::Category, 0, 0 },
+ { CFC_HOME_ADDRESS1,"HomeAddress1", 0,0, &Contact::HomeAddress1, 0, 0 },
+ { CFC_HOME_ADDRESS2,"HomeAddress2", 0,0, &Contact::HomeAddress2, 0, 0 },
+ { CFC_HOME_ADDRESS3,"HomeAddress3", 0,0, &Contact::HomeAddress3, 0, 0 },
{ CFC_NOTES, "Notes", 0,0, &Contact::Notes, 0, 0 },
+ { CFC_USER_DEFINED_1, "UserDefined1", 0,0, &Contact::UserDefined1, 0, 0 },
+ { CFC_USER_DEFINED_2, "UserDefined2", 0,0, &Contact::UserDefined2, 0, 0 },
+ { CFC_USER_DEFINED_3, "UserDefined3", 0,0, &Contact::UserDefined3, 0, 0 },
+ { CFC_USER_DEFINED_4, "UserDefined4", 0,0, &Contact::UserDefined4, 0, 0 },
+ { CFC_HOME_CITY, "HomeCity", 0,0, &Contact::HomeCity, 0, 0 },
+ { CFC_HOME_PROVINCE,"HomeProvince", 0,0, &Contact::HomeProvince, 0, 0 },
+ { CFC_HOME_POSTAL_CODE, "HomePostalCode", 0,0, &Contact::HomePostalCode, 0, 0 },
+ { CFC_HOME_COUNTRY, "HomeCountry",0,0, &Contact::HomeCountry, 0, 0 },
+ { CFC_IMAGE, "Image", 0,0, &Contact::Image, 0, 0 },
{ CFC_INVALID_FIELD,"EndOfList", 0, 0, 0 }
};
@@ -987,6 +1028,7 @@
#define CALFC_RECURRENCE_DATA 0x0c
#define CALFC_VERSION_DATA 0x10
#define CALFC_NOTIFICATION_DATA 0x1a
+#define CALFC_FREEBUSY_FLAG 0x1c
#define CALFC_TIMEZONE_CODE 0x1e // only seems to show up if recurring
#define CALFC_ALLDAYEVENT_FLAG 0xff
#define CALFC_END 0xffff
@@ -998,6 +1040,7 @@
{ CALFC_NOTIFICATION_TIME,"Notification Time",0,0, 0, 0, &Calendar::NotificationTime },
{ CALFC_START_TIME, "Start Time", 0, 0, 0, 0, &Calendar::StartTime },
{ CALFC_END_TIME, "End Time", 0, 0, 0, 0, &Calendar::EndTime },
+ { CALFC_FREEBUSY_FLAG, "Free/Busy", 0, 0, &Calendar::FreeBusy, 0, 0 },
{ CALFC_END, "End of List",0, 0, 0, 0, 0 }
};
--- record.h.org 2007-05-11 05:04:10.000000000 -0600
+++ record.h 2007-05-11 05:06:43.000000000 -0600
@@ -210,6 +210,10 @@
MobilePhone,
Pager,
PIN,
+ Radio,
+ WorkPhone2,
+ HomePhone2,
+ OtherPhone,
FirstName,
LastName,
Company,
@@ -223,7 +227,22 @@
Country,
Title,
PublicKey,
- Notes;
+ URL,
+ Prefix,
+ Category,
+ HomeAddress1,
+ HomeAddress2,
+ HomeAddress3,
+ Notes,
+ UserDefined1,
+ UserDefined2,
+ UserDefined3,
+ UserDefined4,
+ HomeCity,
+ HomeProvince,
+ HomePostalCode,
+ HomeCountry,
+ Image;
GroupLinksType GroupLinks;
UnknownsType Unknowns;
@@ -343,6 +362,7 @@
std::string Subject;
std::string Notes;
std::string Location;
+ std::string FreeBusy;
time_t NotificationTime;
time_t StartTime;
time_t EndTime;
@@ -368,6 +388,19 @@
Week = 12 //< eg. every week on Mon and Fri
//< set: WeekDays
};
+
+ ///
+ /// Free Busy Flag
+ ///
+ /// Note: This is set either to Free, Busy, Tentative or Out of Office
+ /// by Microsoft Outlook
+ ///
+ enum FreeBusyFlag {
+ Free = 0,
+ Tentative,
+ Busy,
+ OutOfOffice
+ };
bool Recurring;
RecurringCodeType RecurringType;
pgpSH82FKzTrn.pgp
Description: PGP signature
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Barry-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/barry-devel
