BtctlObex

BtctlObex — GObject OBEX server

Functions

Signals

void complete Run First
void connect Run First
void disconnect Run First
void error Run First
void progress Run First
void put Run First
void request-put Run First

Types and Values

Object Hierarchy

    GObject
    ╰── BtctlObex

Description

Functions

btctl_obex_new ()

BtctlObex *
btctl_obex_new (void);

Create a new Bluetooth OBEX object. This will attempt to open an OBEX server socket. Use btctl_obex_is_initialised() to check whether this was successful.

Returns

a pointer to the controller object.


btctl_obex_is_initialised ()

gboolean
btctl_obex_is_initialised (BtctlObex *bo);

Check if OBEX was able to initialise OK. If not, we won't be able to do anything.

Parameters

bo

Bluetooth OBEX object.

 

Returns

TRUE if initialised OK.


btctl_obex_set_response ()

void
btctl_obex_set_response (BtctlObex *bo,
                         gboolean resp);

Sets TRUE or FALSE response in signal handlers that must decide whether an operation can proceed or not.

Parameters

bo

Bluetooth OBEX object.

 

resp

Boolean response.

 

btctl_obex_cancel_operation ()

void
btctl_obex_cancel_operation (BtctlObex *bo);

Requests the cancel of a currently running transfer, disconnecting the client.

Parameters

bo

Bluetooth OBEX object.

 

btctl_obex_cancel_operation_forcibly ()

void
btctl_obex_cancel_operation_forcibly (BtctlObex *bo);

Forcibly causes the closing of a client connection. Use if the client isn't responding to a cancel request, e.g. where the connection's timing out.

Parameters

bo

Bluetooth OBEX object.

 

Types and Values

struct BtctlObex

struct BtctlObex;


BTCTL_OBEX_ERR_PARSE

#define BTCTL_OBEX_ERR_PARSE    0x01

A parse error has occured on incoming packets. Usually this happens when the connection is aborted.


BTCTL_OBEX_ERR_LINK

#define BTCTL_OBEX_ERR_LINK     0x02

The remote link was dropped.


BTCTL_OBEX_ERR_ABORT

#define BTCTL_OBEX_ERR_ABORT    0x03

The remote peer aborted the connection.

Signal Details

The “complete” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               gpointer   user_data)

Parameters

bo

the object which received the signal.

 

bdaddr

the remote address of the requestor.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “connect” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               gpointer   user_data)

Parameters

btctlobex

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “disconnect” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               gpointer   user_data)

Parameters

btctlobex

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “error” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               guint      arg2,
               gpointer   user_data)

Parameters

bo

the object which received the signal.

 

bdaddr

the remote address of the requestor.

 

reason

the error code of the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “progress” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               gpointer   user_data)

Parameters

bo

the object which received the signal.

 

bdaddr

the remote address of the requestor.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “put” signal

void
user_function (BtctlObex     *btctlobex,
               gchar         *arg1,
               gchar         *arg2,
               BtctlObexData *arg3,
               guint          arg4,
               gpointer       user_data)

Emitted when a remote peer has completed transmission of an OBEX PUT. Use btctl_obex_set_response() to indicate whether you accepted or denied the PUT.

Parameters

bo

the object which received the signal.

 

bdaddr

the remote address of the requestor.

 

fname

the suggested filename of the transferred object.

 

body

the data of the object.

 

len

the length in bytes of the data.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “request-put” signal

void
user_function (BtctlObex *btctlobex,
               gchar     *arg1,
               gpointer   user_data)

Emitted when a peer hints it is about to PUT. Use btctl_obex_set_response() to indicate whether you want the PUT to continue or not. For small payloads, the PUT will still happen regardless, so you should be prepared to deny it when receiving the "put" signal. For larger payloads, the connection will be aborted and dropped.

Parameters

btctlobex

the object which received the signal.

 

bdaddr

the remote address of the requestor.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First