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 Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel