I will start by saying that I don't know much about the IrDA stack in Linux, and Mark may know more of the fine points about that implementation that I do, but I am responsible for the IrDA code in quite a few million devices currently on the market.
The way our stack works is that we allow multiple applications to bind to a TinyTP port, and register a name that can be looked up to find the port that service is binded to. OBEX is one of those names that can be registered, IrComm is another, and if you have control of both sides of the link it is easy to add others, ethernet for example, and our products have a few non standard names in there for our own custom connections.
Anyway to get to the point, as TinyTP provides this port style interface it is possible that you can have both IrComm and OBEX data travelling across the link at the same time, TinyTP will take care of making sure only the correct data will get to the App/server it is addressed to. Of course to have both connections running at the same time, then both devices need to support it (you cannot do an OBEX connection from one device and a IrComm connection from another as you only have one physical link), but it may not be required for you to quit the OBEX listener when you want an IrComm connection, you will just bind to a differant port, and route the data somewhere else, to Empire it should just look like there is no connection there.
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]