javax.obex
Interface ClientSession

The ClientSession interface provides methods for OBEX requests.
This interface provides a way to define headers for any OBEX operation.
OBEX operations are CONNECT, SETPATH, PUT, GET and DISCONNECT. For PUTs and
GETs, this interface will return a javax.obex.Operation object
to complete the operations. For CONNECT, DISCONNECT, and SETPATH operations,
this interface will complete the operation and return the result in a
HeaderSet object.

Connection ID and Target Headers

According to the IrOBEX specification, a packet may not contain a Connection
ID and Target header. Since the Connection ID header is managed by the
implementation, it will not send a Connection ID header if a Connection ID
was specified in a packet that has a Target header. In other words, if an
application adds a Target header to a HeaderSet object used
in an OBEX operation and a Connection ID was specified, no Connection ID
will be sent in the packet containing the Target header.

CREATE-EMPTY and PUT-DELETE Requests

To perform a CREATE-EMPTY request, the client must call the
put() method. With the Operation object returned,
the client must open the output stream by calling
openOutputStream() and then close the stream by calling
close() on the OutputStream without writing
any data. Using the DataOutputStream returned from
openDataOutputStream() works the same way.

There are two ways to perform a PUT-DELETE request. The
delete() method is one way to perform a PUT-DELETE request.
The second way to perform a PUT-DELETE request is by calling
put() and never calling openOutputStream() or
openDataOutputStream() on the Operation object
returned from put().

setAuthenticator

Sets the Authenticator to use with this connection. The
Authenticator allows an application to respond to
authentication challenge and authentication response headers. If no
Authenticator is set, the
response to an authentication challenge or authentication response
header is implementation dependent.

setConnectionID

void setConnectionID(long id)

Sets the connection ID header to include in the request packets. If a
connection ID is set, it will be sent in each request to the server
except for the CONNECT request. An application only needs to set the
connection ID if it is trying to operate with different targets over
the same transport layer connection. If a client receives a
connection ID from the server, the implementation will continue to use
that connection ID until the application changes it or until the
connection is closed.

connect

Completes an OBEX CONNECT operation. If the headers
argument is null, no headers will be sent in the request.
This method will never return null.

This method must be called and a successful response code of
OBEX_HTTP_OK must be received before put(),
get(), setPath(), delete(), or
disconnect() may be called. Similarly, after a successful
call to disconnect(), this method must be called before
calling put(), get(), setPath(),
delete(), or disconnect().

Parameters:

headers - the headers to send in the CONNECT request

Returns:

the headers that were returned from the server

Throws:

IOException - if an error occurred in the transport layer; if
the client is already in an operation; if this method had already been
called with a successful response code of OBEX_HTTP_OK and
calls to disconnect() have not returned a response code
of OBEX_HTTP_OK; if the
headers defined in headers exceed the max packet length

disconnect

Completes an OBEX DISCONNECT operation. If the headers
argument is null, no headers will be sent in the request.
This method will end the session. A new session may be started by
calling connect(). This method will never return
null.

Parameters:

headers - the header to send in the DISCONNECT request

Returns:

the headers returned by the server

Throws:

IOException - if an error occurred in the transport layer; if
the client is already in an operation; if an OBEX connection does not
exist because connect() has not been called; if
disconnect() has been called and received a response code
of OBEX_HTTP_OK after the last call to
connect(); if the headers defined in headers
exceed the max packet length

setPath

Completes an OBEX SETPATH operation. This method will never
return null.

Parameters:

backup - if true, instructs the server to back up one
directory before moving to the directory specified in name (similar to
cd .. on PCs); if false, apply name to the
current directory

create - if true, instructs the server to create the
directory if it does not exist; if false, instruct the server
to return an error code if the directory does not exist

headers - the headers to include in the SETPATH request

Returns:

the headers that were returned from the server

Throws:

IOException - if an error occurred in the transport layer; if
the client is already in an operation; if an OBEX connection does not
exist because connect() has not been called; if
disconnect() had been called and a response code of
OBEX_HTTP_OK was received; if the headers defined in
headers exceed the max packet length

delete

Performs an OBEX DELETE operation. This method will never return
null.

Parameters:

headers - the header to send in the DELETE request

Returns:

the headers returned by the server

Throws:

IOException - if an error occurred in the transport layer; if
the client is already in an operation; if an OBEX connection does not
exist because connect() has not been called; if
disconnect() had been called and a response code of
OBEX_HTTP_OK was received; if the headers defined in
headers exceed the max packet length

get

Performs an OBEX GET operation. This method will send the OBEX headers
provided to the server and return an Operation object to
continue with the operation. This method will never return
null.

Parameters:

headers - the OBEX headers to send as part of the initial GET
request

Returns:

the OBEX operation that will complete the GET request

Throws:

IOException - if an error occurred in the transport layer; if
an OBEX connection does not
exist because connect() has not been called; if
disconnect() had been called and a response code of
OBEX_HTTP_OK was received; if connect() has not
been called; if the client is already in an operation;

put

Performs an OBEX PUT operation. This method will send the OBEX headers
provided to the server and return an Operation object to
continue with the PUT operation. This method will never return
null.

Parameters:

headers - the OBEX headers to send in the initial PUT request

Returns:

the operation object used to complete the PUT request

Throws:

IOException - if an error occurred in the transport layer; if
an OBEX connection does not
exist because connect() has not been called; if
disconnect() had been called and a response code of
OBEX_HTTP_OK was received; if connect() has not
been called; if the client is already in an operation;

Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.Java is a trademark of Oracle America Inc. in the US and other countries.Legal