This project is read-only.

Brecham Obex 1.7

Rating: No reviews yet
Downloads: 267
Released: Oct 12, 2008
Updated: May 15, 2014 by alanjmcf
Dev status: Stable Help Icon

Recommended Download

Application Brecham Obex
application, 1589K, uploaded May 14, 2014 - 267 downloads

Release Notes

Also available in NuGet

OBEX library — Readme

12th October 2008 — release 1.7 (1.7.1012).

What’s new

For the full list of changes in the current and previous versions see the Changes document. In brief the changes in the core library in this version include
  • The listings produced by some SonyEricsson and LG phones include a user-perm (permissions) attribute with an empty value. This is disallowed by the Folder-Listings DTD in the OBEX specification, and thus the .NET XmlReader fails on reading that attribute, with “The 'user-perm' attribute has an invalid value according to its data type.”. We have included a modified DTD in the library which permits the emtpy string, and the Folder-Listing parser class now uses it by default.
  • Previously when reading a Folder-Listing, the operation generally was completed by sending an ABORT pdu to the server. Now a normal GET close is carried out. The ABORT pdu causes no problems as far as I know but thought I’d fix it anyway in case the ABORT appears to server logs and might confuse someone. This occurred due to our workaround for the bug in listings produced by Broadcom/Widcomm.
  • Added an Authentication class which contains some method to create an parse the various OBEX Authentication headers, and also to do the secure hash of the password. These methods are currently marked as: “Prelimary code, may change or disappear in later versions.” Please give me your feedback!
Changes in the previous version (1.6) include:
  • Add option IgnoreBadDateFormats to ObexFolderListingParser, to allow it to continue even when the server provides invalid folder-listing content. For instance the LG K800 phone sometimes produces date values like modified="19800000T-90000" a negative time! See the Programmer’s Guide for more information.
  • Added ObexClientSession.PutFile which takes a pathname parameter of the file to send.
  • Add a Headers property to the ObexResponseException which lists the headers received along with the error response. (Note that the headers are currently discarded if the exception is runtime-serialized).
These were a few fixes and improvements to the sample programs in that release also.


The library provides very broad client-side OBEX support, providing not just the ‘Put’ operation that most libraries and applications support, but also the complete set of operations: Connect, Put, Get, SetPath, Delete, and Abort. This is accessed through a session based interface. All errors communicating to the peer OBEX server are exposed to the calling application.

As well as the ‘on-the-wire’ protocol support there is also broad support for the objects defined in the OBEX specification, for instance the Folder Listing XML documents as used by the Folder-Browsing service. A full parser, returning an array of folder and file objects, is included

The library also provides access to its lower-level PDU (packet) creation and parsing facilities, enabling third-party implementation of any required features, for instance server-side operation, and perhaps even reliable-session support.

The library, its class documentation in both compiled HTML Help, and in raw XML for Intellisense, and a Programmer’s Guide are included.

Assemblies for both the FXv2 desktop and Compact Framework versions 1 and 2 are supplied.

Included sample code contains examples in both C# and VB.NET, showing how to use Put, Get, SetPath, and Folder Listings operations. They include examples of asynchronous usage, along with progress bar updating. Most use the TransportConnection library to form the connection to the OBEX server. Some however manually create the connection.


Reviews for this release

No reviews yet for this release.