Bea Lam | 3 Mar 08:58 2006
Picon
Picon

Setting the serverfd for an OBEX server

Hello,

Is there a way to set the serverfd value of an obex_t handle? I'm not 
very strong in C, but from what I can understand, the obex_t struct is 
defined in obex_main.h and not the public obex.h, which means the 
compiler doesn't know obex_t is a struct, so I can't directly set this 
value if I have an obex_t object.

I would like to set the serverfd value so that I can run a bluetooth 
OBEX service on an existing RFCOMM server which I have already bound 
and started listening on. I can't call BtOBEX_ServerRegister because 
that tries to make a new server socket, when I'd like to use an 
existing one. The only way I can see to do this is to implement a 
custom transport but that seems a lot to do when I just want to set the 
server socket.

thanks,
Bea

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Bea Lam | 6 Mar 05:59 2006
Picon
Picon

Setting the serverfd for an OBEX server

Hello,

Is there a way to set the serverfd value of an obex_t handle? I'm not 
very strong in C, but from what I can understand, the obex_t struct is 
defined in obex_main.h and not the public obex.h, which means the 
compiler doesn't know obex_t is a struct, so I can't directly set this 
value if I have an obex_t object.

I would like to set the serverfd value so that I can run a bluetooth 
OBEX service on an existing RFCOMM server which I have already bound 
and started listening on. I can't call BtOBEX_ServerRegister because 
that tries to make a new server socket, when I'd like to use an 
existing one. The only way I can see to do this is to implement a 
custom transport but that seems a lot to do when I just want to set the 
server socket.

Thanks very much,
Bea

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Alex Kanavin | 6 Mar 14:04 2006

Re: Setting the serverfd for an OBEX server

On Mon, 6 Mar 2006, Bea Lam wrote:

> I would like to set the serverfd value so that I can run a bluetooth OBEX 
> service on an existing RFCOMM server which I have already bound and started 
> listening on. I can't call BtOBEX_ServerRegister because that tries to make a 
> new server socket, when I'd like to use an existing one. The only way I can 
> see to do this is to implement a custom transport but that seems a lot to do 
> when I just want to set the server socket.

Why would you need to set up the socket yourself?

Alexander

Homepage: http://www.sensi.org/~ak/

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Marcel Holtmann | 6 Mar 23:38 2006

Re: [PATCH] Server-side request handling enhancements

Hi Johan,

> I have been working on an OBEX Object Push server implementation, which
> allows the user to interactively allow or deny an incoming PUT request.
> The server-side user should be provided with as much as possible
> information about the incomming request, including information in
> potential name and type headers in the first PUT packet.
> 
> The current openobex server implementation is done so that OBEX_EV_REQ
> for the put is signaled to the user only after all packets have been
> received. There is the OBEX_EV_REQHINT which is intended for performing
> early denying of the request, but there are two problems with it:
> 
> 1. It only works for single packet requests. The state machine in
> obex_server.c will break if the response is set to something else than
> SUCCESS or CONTINUE for a packet which is not the final one.
> 2. The headers for the first packet have not yet been parsed by openobex
> when REQHINT is signaled, so there is no way for the user application to
> access them.
> 
> While thinking about this problem several solutions came to my mind. The
> first one was to move REQHINT further down in the obex_server function
> after the headers have been parsed. This however will not work since one
> of the purposes of REQHINT is to allow the user callback to set the
> headeroffset (in case of some special extension of OBEX), i.e. REQHINT
> *must* be called before the header parsing.
> 
> The second idea was to send REQHINT a second time after header parsing,
> but this is also not good since it would break any application which
> expects to get only one REQHINT for each request.
(Continue reading)

Bea Lam | 7 Mar 02:48 2006
Picon
Picon

Setting the serverfd for an OBEX server

Hello,

Is there a way to set the serverfd value of an obex_t handle? I'm not 
very strong in C, but from what I can understand, the obex_t struct is 
defined in obex_main.h and not the public obex.h, which means the 
compiler doesn't know obex_t is a struct, so I can't directly set this 
value if I have an obex_t object.

I would like to set the serverfd value so that I can run a bluetooth 
OBEX service on an existing RFCOMM server which I have already bound 
and started listening on. I can't call BtOBEX_ServerRegister because 
that tries to make a new server socket, when I'd like to use an 
existing one. The only way I can see to do this is to implement a 
custom transport but that seems a lot to do when I just want to set the 
server socket.

Thanks very much,
Bea

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Bea Lam | 7 Mar 05:52 2006
Picon
Picon

Re: Setting the serverfd for an OBEX server

Hello,

Sorry for the repeat posts, they didn't seem to appear on the 
sourceforge archives so I thought they hadn't been posted.

I'd like to set the serverfd because I'm developing an API for RFCOMM 
and OBEX communication. The ideal approach would be to allow the 
programmer to create a RFCOMM server socket, bind to an available port, 
and then use that socket for either RFCOMM or OBEX communication as 
they see fit. This seems more flexible and customisable than running an 
OBEX server on a port designated through the openobex api. And since 
OBEX communication has an underlying RFCOMM channel, and RFCOMM 
channels can be started on user-designated ports, it seems to makes 
sense for my api to allow OBEX services to be run on user-designated 
ports too.

Thanks,
Bea

> Message: 2
> Date: Mon, 6 Mar 2006 16:04:42 +0300 (MSK)
> From: Alex Kanavin <ak <at> sensi.org>
> To: openobex-users <at> lists.sourceforge.net
> Subject: Re: [openobex-users] Setting the serverfd for an OBEX server
> Reply-To: openobex-users <at> lists.sourceforge.net
>
> On Mon, 6 Mar 2006, Bea Lam wrote:
>
>> I would like to set the serverfd value so that I can run a bluetooth 
>> OBEX
(Continue reading)

Alex Kanavin | 7 Mar 18:09 2006

Re: Setting the serverfd for an OBEX server

On Tue, 7 Mar 2006, Bea Lam wrote:

> I'd like to set the serverfd because I'm developing an API for RFCOMM and 
> OBEX communication. The ideal approach would be to allow the programmer to 
> create a RFCOMM server socket, bind to an available port, and then use that 
> socket for either RFCOMM or OBEX communication as they see fit. This seems 
> more flexible and customisable than running an OBEX server on a port 
> designated through the openobex api. And since OBEX communication has an 
> underlying RFCOMM channel, and RFCOMM channels can be started on 
> user-designated ports, it seems to makes sense for my api to allow OBEX 
> services to be run on user-designated ports too.

What's wrong with providing

start_rfcomm_server(int port);
start_obex_server(int port);

in the API?

Where is the extra flexibility in allowing the application programmer to 
create a socket himself, exactly?

Alexander

Homepage: http://www.sensi.org/~ak/

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
(Continue reading)

Christian W. Zuckschwerdt | 7 Mar 18:12 2006

Re: [PATCH] Server-side request handling enhancements

Hi,

"Here are a set of rules to help you update your library version 
information: [...]

   3. If the library source code has changed at all since the last
      update, then increment revision (c:r:a becomes c:r+1:a).
   4. If any interfaces have been added, removed, or changed since the
      last update, increment current, and set revision to 0.
   5. If any interfaces have been added since the last public release,
      then increment age.
   6. If any interfaces have been removed since the last public release,
      then set age to 0."

each rule should be applied if the condition is matched.
I.e. 2:0:1 -> 2:1:1 -> 3:0:1 -> 3:0:2. So 3:0:2 will be the library 
version for the next release.

Some simpler examples we might encounter frequently:

Bugfix release: c:r+1:a
Enhancement release (API fully compatible with older releases): c+1:0:a+1
API change in an incompatible way: c+1:0:0

Marcel Holtmann wrote:

>I think we are ready. Christian, how should the library version be
>changed for our next release.
>  
>
(Continue reading)

Marcel Holtmann | 7 Mar 22:22 2006

OpenOBEX 1.2 released

Hi Folks,

I've released openobex-1.2 source package. This release contains some
small API enhancements and is fully backward compatible to previous
releases from the 1.x branch. The credits for the new features are going
to Johan Hedberg and Martin Schulze.

As a small internal joke, this release could have gotten the release
name "Recife" and the previous then would have been "Prague".

The sources can be found at http://openobex.sf.net/download/

Regards

Marcel

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Marcel Holtmann | 8 Mar 01:51 2006

Re: OpenOBEX 1.2 released

Hi Folks,

> As a small internal joke, this release could have gotten the release
> name "Recife" and the previous then would have been "Prague".

I actually just got correct by Johan that it would have been "Vancouver"
and not "Prague". Sorry for any confusion.

Regards

Marcel

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642

Gmane