Re: [Barry-devel] Problem with fc10/8120/tmobileus...

2009-01-16 Thread Brian Edginton
On Thu, Jan 15, 2009 at 5:17 PM, Chris Frey cdf...@foursquare.net wrote:
 On Thu, Jan 15, 2009 at 06:57:01PM -0500, Rick Scott wrote:
 I tried to build on a mostly virgin FC 10 system today. The lib and
 tools seemed to build okay, the gui wouldn't configure because of
 missing gtkmm packages. My effort to yum something suitable for that
 failed.

 I believe 'yum search gtkmm' should have found something for you.
 gtkmm24 should do the trick.

 You'll need libglademm20 and friends too, but I'd be surprised if they weren't
 available.  Even libtar is listed on Fedora's package page.

Remember you have to install the -devel versions of these packages.

-edge

--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Error during install of Barry-0.14 on Ubuntu 8.04

2008-12-24 Thread Brian Edginton
On Sat, Dec 13, 2008 at 5:13 AM, Jim Allen j...@llens.net wrote:
 Greetings,

 BTOOL (Barry library version 0.9 (little endian)) does not find my
 Blackberry Pearl 8330.

 So in an attempt to upgrade Barry from 0.9.1 , I am encoutering the
 following.

 No, I have not had a working Barry install on this system.  However,
 Barry0.9.1 installed without error.

 The reported error:
 configure: error: C compiler cannot create executables


 Attached is the config.log file.

 config.log snippett:
 (Begin)
 configure:2841: $? = 1
 configure:2864: checking for C compiler default output file name
 configure:2891: gccconftest.c  5
 /usr/bin/ld: crt1.o: No such file: No such file or directory
 collect2: ld returned 1 exit status

You don't appear to have the gnu toolchain installed yet.

What does 'dpkg --list libgcc1' and 'dpkg --list gcc' indicate?

-edge

--
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Sync fails with the following error sync failed: Unable to write one or more objects

2008-11-04 Thread Brian Edginton
On Tue, Nov 4, 2008 at 5:42 AM, Aniruddha [EMAIL PROTECTED] wrote:
 I'm trying to sync my blackberry with evolution through multisync.
 Unfortunately I always get the following error:

 This object type is disabled in the barry-sync config
 Mapping Write Error: This object type is disabled in the barry-sync config
 Member 1 of type barry-sync committed all changes.
 All clients have written
 Member 2 of type evo2-sync just disconnected
 Member 1 of type barry-sync just disconnected
 All clients have disconnected
 The sync failed: Unable to write one or more objects
 Error while synchronizing: Unable to write one or more objects

 My config:
 # This is the default configuration file for the barry-sync opensync plugin.
 # Comments are preceded by a '#' mark at the beginning of a line.
 # The config format is a set of lines of keyword values.
 #
 # Keywords available:
 #
 # DebugMode- If present, verbose USB debug output will be enabled
 #
 # Device   - If present, it is followed by the following values:
 #  PIN number- PIN number of the device to sync with (in hex)
 #  sync calendar - 1 to sync calendar, 0 to skip
 #  sync contacts - 1 to sync contacts, 0 to skip
 #
 # Password secret  - If present, specifies the device's password in plaintext
 #

 #DebugMode

 Device 123aa333
 calendar 1
 contacts 0
 #Password secret


Unless there's been some change that I  haven't noticed you only need
the binary for the calendar and contacts option, thus:

Device 123ab456 1 0

-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Images and Photos

2008-10-20 Thread Brian Edginton
On Mon, Oct 20, 2008 at 4:23 PM, Martin Owens [EMAIL PROTECTED] wrote:
 Hey Chris,

 Is there a way to access camera photos from the blackberry via the
 databases? because say if a phone doesn't have it's Mass Storage Device
 it won't appear as a disk.

 Thoughts? are some files just unavailable? Or is there some file system
 mumbo-jumbo?

You can retrieve the contact photos now (as bits, we don't format or
package them in any way), but the hooks to access the folders haven't
been fully implemented. I've played around with them a little and I
think it's possible.

FWIW,
-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] strange new problem

2008-10-14 Thread Brian Edginton
I just had a strange problem occur. I have just upgraded to the latest
cvs, was doing a backup and got this error:

Backup error: Desktop: database name not found: Secure Email Decision Maker

But when I look in the list of databases I have this one isn't found.
I'll look into it a bit more but I thought I'd post this just in case
someone else has seen it or fixed it.

-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] formats for xfering/sync'ing data

2008-10-11 Thread Brian Edginton
Right now we convert to vformat in order to use opensync. What is the
general consensus about using xml either as the primary format or as a
parallel/selectable format? And are we (a royal we :0) just skipping
opensync 0.3x and jumping right to .40?

-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Kernel driver

2008-10-08 Thread Brian Edginton
On Wed, Oct 8, 2008 at 7:03 AM, Martin Owens [EMAIL PROTECTED] wrote:

  I think it is best to start at the lowest level we can, and we may
  run into some roadblocks along the way.  Especially the probe messages
  that are not well understood yet.

 Did you ever work out how to identify a given BlackBerry device? having
 good identification for devices is key if you want to move functionality
 up into userspace.

 If you can create a black berry information dobry that's used by dbi
 and/or hal to populate stuff ready for userland. _that_ would be useful.

 So long as hardware identification, power management (you know) and low
 level interfaces are kernel bound. The user space can excel then at
 cooking up some cool stuff.

Since 2.6 linux has started to rely heavily on hal and a quick glance
at it on an F8 (2.6.21) box shows that hal notices a blackberry as
both a storage device and a usb device. And once hal has noticed a
device it's very easy to get whatever information there is out. I
haven't been paying a lot of attention to what information barry
wants, but I'll go back and look so we can verify that hal sees what
we want it to see.

-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Shared Libraries not loading

2008-07-29 Thread Brian Edginton
On Tue, Jul 29, 2008 at 8:34 AM, Caleb [EMAIL PROTECTED] wrote:
 Hey all.

 Have a question about shared libraries.  I can compile and install barry
 with the opensync plugin all day on my Ubuntu 7.04 Feisty Fawn laptop
 installation but I have this friend with the latest and greatest from our
 friends a Canonical and community and I always receive a shared libraries
 error on load like the following.

 barrybackup: error while loading shared libraries: libbarry.so.0: cannot
 open shared object file: No such file or directory


 I get this with btool as well.  I do nothing different from compiling on my
 7.04 to his 8.04 and only on the  8.04 am I getting the error.  Suggestions?

 I have unloaded the usb_storage module and made sure the files are actually
 there in /usr/local/lib.   Beyond this I have run an strace on the command
 and me not being an expert it appears that the program is looking for the
 files in the wrong directory.

You might try adding /usr/local/lib to /etc/ld.so.conf and running
ldconfig -a as su.

-edge

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Fedora 8 - BBPerl - Starting from scratch how to / help

2008-04-19 Thread Brian Edginton
On Fri, Apr 18, 2008 at 9:26 PM, lance raymond [EMAIL PROTECTED] wrote:
 ok, from the testing in the past and fustrations reading 10 different posts
 about things, it's easy to start a new thread as a help / how to

 Running Fedora 8 on a Dell XPS 1330 laptop.   Before I start installing
 barry*
  barry-0.12-1.fc7.src.src
 barry-gui-0.12-1.fc7.i386.rpm
 barry-util-0.12-1.fc7.i386.rpm
 libbarry-0.12-1.fc7.i386.rpm

 A first run attempt at installing gives;
 error: Failed dependencies:
  libboost_serialization.so.2 is needed by barry-util-0.12-1.i386

 and I do have the following installed;
 rpm -qa |grep boost
 boost-devel-1.34.1-7.fc8

You probably want to 'yum install boost' to get the library you're
looking for. But it will give you libboost-serialization.3 (f8) so
maybe you'll have to do a symbolic link, or try to find a barry
package that has been built on f8.

-edge

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Barry doesn't detect my Blackberry pearl

2008-04-17 Thread Brian Edginton
On Thu, Apr 17, 2008 at 1:58 PM, Aniruddha [EMAIL PROTECTED] wrote:
 Succes! Barry detects my blackberry :D I only have problems getting the
  gui to compile:


   In file included from DeviceIface.h:30,
from BackupWindow.h:25,
from main.cc:28:
   tarfile.h:27:20: error: libtar.h: No such file or directory
   tarfile.h:37: error: 'tartype_t' does not name a type
   tarfile.h:41: error: ISO C++ forbids declaration of 'TAR' with no type
   tarfile.h:41: error: expected ';' before '*' token
   tarfile.h:60: error: 'tartype_t' has not been declared
   make[2]: *** [main.o] Error 1
   make[2]: Leaving directory `/home/aniruddha/barry/gui/src'
   make[1]: *** [all-recursive] Error 1
   make[1]: Leaving directory `/home/aniruddha/barry/gui'
   make: *** [all] Error 2

Make sure you have installed libtar.devel

-edge

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] timezone patch

2008-02-29 Thread Brian Edginton
Here is a patch and a couple of files for the timezone database. It seems to
apply against both HEAD and the architecture branch without changes.

-edge


r_timezone-head.patch
Description: Binary data


r_timezone.cc
Description: Binary data


r_timezone.h
Description: Binary data
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] app downloading

2008-02-29 Thread Brian Edginton
If no one else is too far into it, or if they would like some help, I'm
going to start looking at the java loader  protocol.

-edge
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] X86_64 install

2008-02-16 Thread Brian Edginton
I just noticed that in doing a clean install on a F8 X86_64 system the
barry-sync libs are not put into /usr/lib64/opensync/plugins, only in
/usr/lib/opensync/plugins, thus preventing msynctool from seeing them. I
must of hacked around this before and not made a note of it.

-edge
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


Re: [Barry-devel] Blackberry Pearls and btool killer

2007-11-26 Thread Brian Edginton
On Nov 26, 2007 3:39 AM, Martin Owens [EMAIL PROTECTED] wrote:
 OK contrary to my last email I decided to look at btool a little
 closer; running btool more than once does kill the blackberry. I'm not
 entirly sure why and since I lack any windows logs for blackberry
 pearls I'm not even sure what is wrong.

 There is probably some command which closes the connection or some
 such, or I'm forggeting to read off the last message from the usb
 buffer and that kills it some how. Chris if your on irc at some point,
 that would be great.


As a data point. With the latest cvs (and a couple before) on Fedora 8
x86_64 with no barry kernel module installed - as soon as I plug my
curve into the usb port it resets.

-edge

-- 
Brian Edginton
[EMAIL PROTECTED]

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] curve: here's what btool sees and says

2007-08-05 Thread Brian Edginton
 lame:~/workspace/barry [34]  btool -v -d Messages
usb_set_debug: Setting debugging level to 9 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 016 on 002
usb_os_find_devices: Found 010 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 016 on 002
usb_os_find_devices: Found 010 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
Blackberry devices found:
No device selected
 lame:~/workspace/barry [35]   

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel


[Barry-devel] [patch] r_folder.patch

2007-06-24 Thread Brian Edginton
Here is a patch to include the Folders database. I hacked it up for 
debugging the Messages header stuff, but it is a good starting place for 
someone who wants to write a BB desktop for linux. 

The parent directory information is kept in field codes 0x0d and 0x0e. I 
didn't format them for printing.

-edge
Index: tools/btool.cc
===
RCS file: /cvsroot/barry/barry/tools/btool.cc,v
retrieving revision 1.19
diff -u -r1.19 btool.cc
--- tools/btool.cc	8 Jun 2007 18:54:22 -	1.19
+++ tools/btool.cc	24 Jun 2007 16:39:17 -
@@ -239,6 +239,11 @@
 			new RecordParserSavedMessage, StoreSavedMessage  (
 new StoreSavedMessage(filename, false)));
 	}
+	else if( name == Folders ) {
+		return auto_ptrParser(
+			new RecordParserFolder, StoreFolder  (
+new StoreFolder(filename, false)));
+	}
 	else {
 		// unknown database, use null parser
 		return auto_ptrParser( new DataDumpParser );
Index: src/record.h
===
RCS file: /cvsroot/barry/barry/src/record.h,v
retrieving revision 1.27
diff -u -r1.27 record.h
--- src/record.h	8 Jun 2007 19:25:15 -	1.27
+++ src/record.h	24 Jun 2007 16:39:17 -
@@ -208,6 +208,7 @@
 #include r_task.h
 #include r_pin_message.h
 #include r_saved_message.h
+#include r_folder.h
 
 #endif
 
Index: src/Makefile.am
===
RCS file: /cvsroot/barry/barry/src/Makefile.am,v
retrieving revision 1.19
diff -u -r1.19 Makefile.am
--- src/Makefile.am	8 Jun 2007 18:56:01 -	1.19
+++ src/Makefile.am	24 Jun 2007 16:39:17 -
@@ -70,6 +70,7 @@
 	r_saved_message.h \
 	r_servicebook.h \
 	r_task.h \
+	r_folder.h \
 	socket.h \
 	time.h \
 	usbwrap.h \
@@ -97,6 +98,7 @@
 	r_saved_message.cc \
 	r_servicebook.cc \
 	r_task.cc \
+	r_folder.cc \
 	packet.cc packet.h \
 	controller.cc \
 	version.cc \
Index: src/s11n-boost.h
===
RCS file: /cvsroot/barry/barry/src/s11n-boost.h,v
retrieving revision 1.9
diff -u -r1.9 s11n-boost.h
--- src/s11n-boost.h	8 Jun 2007 18:54:22 -	1.9
+++ src/s11n-boost.h	24 Jun 2007 16:39:17 -
@@ -252,6 +252,15 @@
 	}
 }
 
+template class ArchiveT
+void serialize(ArchiveT ar, Barry::Folder f, const unsigned int ver)
+{
+	ar  make_nvp(FolderName, f.FolderName);
+	if( ver  BARRY_POD_MAP_VERSION ) {
+		ar  make_nvp( Unknowns, f.Unknowns);
+	}
+}
+
 }} // namespace boost::serialization
 
 #endif
Index: src/r_folder.h
===
RCS file: src/r_folder.h
diff -N src/r_folder.h
--- /dev/null	1 Jan 1970 00:00:00 -
+++ src/r_folder.h	1 Jan 1970 00:00:00 -
@@ -0,0 +1,96 @@
+///
+/// \file	r_folder.h
+///		Record parsing class for the Folder database.
+///
+
+/*
+Copyright (C) 2005-2007, Net Direct Inc. (http://www.netdirect.ca/)
+Copyright (C) 2007, Brian Edginton
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License in the COPYING file at the
+root directory of this project for more details.
+*/
+
+#ifndef __BARRY_RECORD_FOLDER_H__
+#define __BARRY_RECORD_FOLDER_H__
+
+#include record.h
+#include vector
+#include string
+#include stdint.h
+
+namespace Barry {
+
+class Folder
+{
+public:
+	typedef std::vectorUnknownField			UnknownsType;
+	uint8_t RecType;
+	uint32_t RecordId;
+	
+	std::string FolderName;
+	uint16_t	FolderNumber;	// Not unique, used for ordering of subfolders - NOT level
+	uint16_t	FolderLevel;	// From parent
+	
+	enum FolderTypeEnum {
+		FolderSubtree = 0,
+		FolderDeleted,
+		FolderInbox,
+		FolderOutbox,
+		FolderSent,
+		FolderOther,
+		FolderDraft = 0x0a
+	};
+	FolderTypeEnum FolderType;
+	
+	enum FolderStatusType {
+		FolderOrphan = 0x50,
+		FolderUnfiled,
+		FolderFiled,
+	};
+
+	UnknownsType Unknowns;
+
+public:	
+	Folder();
+	~Folder();
+
+	const unsigned char* ParseField(const unsigned char *begin,
+		const unsigned char *end);	
+	uint8_t GetRecType() const { return RecType; }
+	uint32_t GetUniqueId() const { return RecordId; }
+	void SetIds(uint8_t Type, uint32_t Id) { RecType = Type; RecordId = Id; }
+	void ParseHeader(const Data data, size_t offset);
+	void ParseFields(const Data data, size_t offset);
+	void BuildHeader(Data data, size_t offset) const;
+
+	void Clear();
+
+	void Dump(std::ostream os) const;
+	bool operator(const Folder other) const { return FolderName  other.FolderName; }
+
+	// database name
+	static const char * GetDBName() { return Folders; }
+	static uint8_t

[Barry-devel] [patch] Adds PIN Message

2007-06-01 Thread Brian Edginton
;
+	if( ReplyTo.Email.size())
+		os  Reply To:   ReplyTo  \n;
 	if( Subject.size() )
 		os  Subject:   Subject  \n;
 	os  \n;
@@ -194,6 +226,11 @@
 		else
 			os  *i;
 	}
+	os  \n;
+	if( Attachment.size() )
+		os  Attachments:   Attachment  \n;
+	
+	os  Unknowns;
 	os  \n\n;
 }
 
Index: src/s11n-boost.h
===
RCS file: /cvsroot/barry/barry/src/s11n-boost.h,v
retrieving revision 1.6
diff -u -r1.6 s11n-boost.h
--- src/s11n-boost.h	27 May 2007 17:19:25 -	1.6
+++ src/s11n-boost.h	1 Jun 2007 10:37:21 -
@@ -113,7 +113,7 @@
 }
 
 template class ArchiveT
-void serialize(ArchiveT ar, Barry::Message::Address a, const unsigned int ver)
+void serialize(ArchiveT ar, Barry::Address a, const unsigned int ver)
 {
 	ar  make_nvp(Name, a.Name);
 	ar  make_nvp(Email, a.Email);
@@ -125,8 +125,11 @@
 	ar  make_nvp(From, m.From);
 	ar  make_nvp(To, m.To);
 	ar  make_nvp(Cc, m.Cc);
+	ar  make_nvp(Sender, m.Sender);
+	ar  make_nvp(ReplyTo, m.ReplyTo);
 	ar  make_nvp(Subject, m.Subject);
 	ar  make_nvp(Body, m.Body);
+	ar  make_nvp(Attachment, m.Attachment);
 
 	if( ver  BARRY_POD_MAP_VERSION ) {
 		ar  make_nvp(Unknowns, m.Unknowns);
@@ -216,6 +219,21 @@
 	}
 }
 
+templateclass ArchiveT
+void serialize(ArchiveT ar, Barry::PINMessage p, const unsigned int ver)
+{
+	ar  make_nvp(From, p.From);
+	ar  make_nvp(To, p.To);
+	ar  make_nvp(Cc, p.Cc);
+	ar  make_nvp(Bcc, p.Bcc);
+	ar  make_nvp(Subject, p.Subject);
+	ar  make_nvp(Body, p.Body);
+	
+	if(ver  BARRY_POD_MAP_VERSION) {
+		ar  make_nvp(Unknowns, p.Unknowns);
+	}
+}
+
 }} // namespace boost::serialization
 
 #endif
Index: src/record.h
===
RCS file: /cvsroot/barry/barry/src/record.h,v
retrieving revision 1.23
diff -u -r1.23 record.h
--- src/record.h	25 May 2007 21:29:00 -	1.23
+++ src/record.h	1 Jun 2007 10:37:20 -
@@ -174,6 +174,11 @@
 };
 std::ostream operator (std::ostream os, const std::vectorUnknownField unknowns);
 
+typedef struct Address
+{
+	std::string Name;
+	std::string Email;
+};
 
 /// \addtogroup RecordParserClasses
 ///		Parser and data storage classes.  These classes take a
@@ -193,6 +198,7 @@
 #include r_message.h
 #include r_servicebook.h
 #include r_task.h
+#include r_pin_message.h
 
 #endif
 
Index: src/Makefile.am
===
RCS file: /cvsroot/barry/barry/src/Makefile.am,v
retrieving revision 1.15
diff -u -r1.15 Makefile.am
--- src/Makefile.am	25 May 2007 21:29:00 -	1.15
+++ src/Makefile.am	1 Jun 2007 10:37:20 -
@@ -68,6 +68,7 @@
 	r_message.h \
 	r_servicebook.h \
 	r_task.h \
+	r_pin_message.h \
 	socket.h \
 	time.h \
 	usbwrap.h \
@@ -93,6 +94,7 @@
 	r_message.cc \
 	r_servicebook.cc \
 	r_task.cc \
+	r_pin_message.cc
 	packet.cc packet.h \
 	controller.cc \
 	version.cc \
Index: tools/btool.cc
===
RCS file: /cvsroot/barry/barry/tools/btool.cc,v
retrieving revision 1.16
diff -u -r1.16 btool.cc
--- tools/btool.cc	27 May 2007 17:19:25 -	1.16
+++ tools/btool.cc	1 Jun 2007 10:37:21 -
@@ -229,6 +229,11 @@
 			new RecordParserTask, StoreTask  (
 new StoreTask(filename, false )));
 	}
+	else if( name == PIN Messages ) {
+		return auto_ptrParser(
+new RecordParserPINMessage, StorePINMessage  (
+		new StorePINMessage(filename, false )));
+	}
 	else {
 		// unknown database, use null parser
 		return auto_ptrParser( new DataDumpParser );
Index: src/r_pin_message.cc
===
RCS file: src/r_pin_message.cc
diff -N src/r_pin_message.cc
--- /dev/null	1 Jan 1970 00:00:00 -
+++ src/r_pin_message.cc	1 Jan 1970 00:00:00 -
@@ -0,0 +1,240 @@
+///
+/// \file	r_pin_message.cc
+///		Blackberry database record parser class for pin message records.
+///
+
+/*
+Copyright (C) 2005-2007, Net Direct Inc. (http://www.netdirect.ca/)
+Copyright (C) 2007, Brian Edginton ([EMAIL PROTECTED])
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License in the COPYING file at the
+root directory of this project for more details.
+*/
+
+#include r_pin_message.h
+#include record-internal.h
+#include protocol.h
+#include protostructs.h
+#include data.h
+#include time.h
+#include error.h
+#include endian.h
+#include ostream
+#include iomanip
+#include time.h
+#include stdexcept
+
+#define __DEBUG_MODE__
+#include debug.h
+
+using namespace std;
+using namespace Barry::Protocol;
+
+namespace Barry {
+
+//std::ostream

[Barry-devel] question on makefile/directory

2007-05-25 Thread Brian Edginton
What is the purpose for running the following Make rule and creating the 
symlink barry?

all-local:
   rm -f barry
   ln -s src barry

clean-local:
   rm -f barry

I'm asking because it breaks some of the CVS capabilities in eclipse, which I 
realize is a tool problem, but made me curious to the purpose of the rule(s).

-edge


pgpepLHstl1O0.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


Re: [Barry-devel] [patch] preliminary record refactoring patch

2007-05-25 Thread Brian Edginton
On Thursday 24 May 2007 08:34:43 pm Chris Frey wrote:
 If my spidey sense is tingling correctly, I suspect you are refactoring
 to make a Record base class that all other record classes are derived
 from.

Yup, seemed to be the easiest way to keep things simple and reduce the amount 
of duplicated methods.

 I have purposely avoided doing this, since I want to make sure that
 all record classes are dead simple, and STL container safe.  I've done
 large hierarchies of classes before, and making sure that the copy
 constructors and all the operator=() functions are correct is a bit of
 work, so I had intended to keep the record classes themselves
 hierarchy-less.

 The hierarchy I've done before had virtual operator=() functions, which
 is probably most of the reason why it was so much work (you could
 copy any object correctly, even through a base pointer).  But I still
 favour simple record classes, just to make them absolutely bulletproof
 from the application's perspective.  They should be able to toss
 these things around with no fear.

Okay. Not the way I would have gone (obviously :)) but I have no problem 
following your lead. When I had indicated that was my direction and heard 
nothing back I figured it was a go.


 This doesn't prevent us from making helper classes or helper
 functions, or even helper templates (although that's less than
 ideal, since that just hides the code duplication).

 All such helpers would be hidden inside the library, and not accessible
 to the application.

Easily enough done with class hierarchy. There are enough member functions 
being duplicated and what looked liked a bunch of opportunities for 
refactoring.


 I'll commit my file-split work soon, and hopefully you'll see what
 I mean.  If you've done a lot of work on these already, I apologise
 for not speaking sooner.  I see you're keen on sending patches
 (excellent!), so I'll try to post to the list more frequently as I work on
 things.

  From your previous emails, you have a bunch of record parsing classes
 waiting to send, and I haven't been working on any of that side lately,
 so we're at least not duplicating work there.

Ha. Good enough. You might want to figure out a way we can better indicate 
what is being worked on, or needs to be done next. I've spend a couple hours 
on this so its not a big deal now - but I'm glad you mentioned something 
before the 3 day holiday down here this weekend ;)

P.S. I think you should apply my class Record to class RecordT patch 
anyway to make the code a bit more consistent.


 Thanks,
 - Chris



-
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


[Barry-devel] update record.cc and record.h

2007-05-11 Thread Brian Edginton
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.0 -0600
+++ record.cc	2007-05-11 05:04:55.0 -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_FAX3
 #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_PIN10
+#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_URL54	// 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 },
{