From: Julien Campana <juliencampana@yahoo.fr>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: BlueZ-devel List <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] Announce : BlueZ-based implemantation of JSR82
Date: Thu, 27 May 2004 12:21:47 +0200 [thread overview]
Message-ID: <1085653295.914.36.camel@fischer> (raw)
In-Reply-To: <1085497660.9779.139.camel@pegasus>
Am Di, den 25.05.2004 schrieb Marcel Holtmann um 17:07:
> Hi Julien,
Hi Marcel,
>
> > There are main reason why I rewrote some BlueZ functions is that:
> > - Functions like "sdp_service_search_attr_req" return a list of
> > sdp_record_t. If I had to parse these sdp_record_t in order to
> > construct the requested Java Objects, this would have been an amazing
> > amount of switch or if statement. The best solution was therefore to
> > directly send the bytes to the java implementation.
>
> put this problem up in a seperate thread on the mailing list and tell
> how the Java Objects have to look like. We should find a better solution
> for that.
I will post this today or tomorrow. Furthermore, I will provide the
HOW-TO help file next week (sorry for the delay, but I currently have a
lot of work to do!).
> > > What I also don't wanna use is somekind of "de.avetana.bluetooth" vendor
> > > extensions. If something is not possible in pure Java JSR-82, sorry not
> > > my bad ;)
> >
> > JSR-82 provides just the minimal amount of classes. It lets the
> > programmer use "background classes" but this is transparent for the
> > end-user (I will give some example of this transparency in the future
> > how-to). These de.avetana.bluetooth.* classes are really needed to fully
> > implement all javax.bluetooth.* classes.
>
> You must explain this to me in detail, because I don't understand why.
> Actually I think we should avoid this.
In order to explain this, I will take an example:
JSR-82 provides an interface called ServiceRecord. The role of the class
could be compared with the role of the sdp_record_t of BlueZ: storing
attributes and related DataElements.
But no implementation of ServiceRecord is provided, it is just an
interface.
Moreover, a look at the description of some JSR82 methods like
LocalDevice.getRecord() shows that two kinds of ServiceRecord are
needed: a "local" ServiceRecord and a "remote" ServiceRecord. This two
ServiceRecord must differ (for example, the "local" Service Record does
not implement some methods like getConnectionURL()).
That's why I had to provide two different implementation of
ServiceRecord (LocalServiceRecord and RemoteServiceRecord).
But if you use the javax.bluetooth.* api, you will mostly manipulate
ServiceRecord objects without even knowing if they are instance of
Local- or RemoteServiceRecord.
>
> > > The native interface should only be a wrapper. Let's talk about the
> > > stuff and put some of it back to the Bluetooth library where it should
> > > belong.
> >
> > I would say that 90% of the native interface is today a wrapper. Only
> > the service search uses home-made-functions derived from the BlueZ code.
>
> As said already, lets fix this in the Bluetooth library itself. I know
> that SDP itself is a horrible mess of object oriented stuff, but I think
> we will find a solution for it.
Thanks!
Regards,
Julien
>
> Regards
>
> Marcel
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: Oracle 10g
> Get certified on the hottest thing ever to hit the market... Oracle 10g.
> Take an Oracle 10g class now, and we'll give you the exam FREE.
> http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
next prev parent reply other threads:[~2004-05-27 10:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-24 10:07 [Bluez-devel] Announce : BlueZ-based implemantation of JSR82 Julien Campana
2004-05-24 10:55 ` Mauro Tortonesi
2004-05-25 12:14 ` Marcel Holtmann
2004-05-25 12:59 ` Julien Campana
2004-05-25 13:32 ` [Bluez-devel] Flush timeout at Baseband Wang Haiguang
2004-05-25 13:42 ` Marcel Holtmann
2004-05-25 13:36 ` [Bluez-devel] Announce : BlueZ-based implemantation of JSR82 Marcel Holtmann
[not found] ` <1085496174.900.127.camel@fischer>
2004-05-25 15:07 ` Marcel Holtmann
2004-05-27 10:21 ` Julien Campana [this message]
2004-05-27 10:45 ` Stephen Crane
2004-05-27 12:33 ` Marcel Holtmann
2004-05-27 12:28 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1085653295.914.36.camel@fischer \
--to=juliencampana@yahoo.fr \
--cc=bluez-devel@lists.sourceforge.net \
--cc=marcel@holtmann.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox