# Barry::Socket Class Reference

`#include <socket.h>`

Collaboration diagram for Barry::Socket:

[legend]

List of all members.

## Detailed Description

Encapsulates a "logical socket" in the Blackberry USB protocol.

By default, provides raw send/receive access, as well as packet writing on socket 0, which is always open.

There are Open and Close members to open data sockets which are used to transfer data to and from the device.

The destructor will close any non-0 open sockets automatically.

Requires an active Usb::Device object to work on.

Definition at line 132 of file socket.h.

## Public Member Functions

void | Send (Data &send, int timeout=-1)
| Sends 'send' data to device, no receive.
void | Send (Data &send, Data &receive, int timeout=-1)
| Sends 'send' data to device, and waits for response.

## Member Function Documentation

void Barry::Socket::Send | ( | Data & | send,
|  | int | timeout = `-1` |
| ) |  |  |

Sends 'send' data to device, no receive.

Returns:
  void

Exceptions:

  | Usb::Error | on underlying bus errors.

Definition at line 713 of file socket.cc.

Referenced by Send().

Here is the caller graph for this function:

void Barry::Socket::Send | ( | Data & | send,
|  | Data & | receive,
|  | int | timeout = `-1` |
| ) |  |  |

Sends 'send' data to device, and waits for response.

Returns:
  void

Exceptions:

  | Usb::Error | on underlying bus errors.

Definition at line 732 of file socket.cc.

References Send().

Here is the call graph for this function:

The documentation for this class was generated from the following files:

- socket.h
- socket.cc