Barry::Controller Class Reference

#include <controller.h>

List of all members.


Detailed Description

The main interface class.

This class coordinates the communication to a single handheld. This class also owns the only Usb::Device object the handheld. All other classes reference this one for the low level device object. This class owns the only SocketZero object as well, which is the object that any SocketRoutingQueue is plugged into if constructed that way.

To use this class, use the following steps:

Definition at line 67 of file controller.h.

Public Types

enum  ModeType
 Handheld mode type. More...

Public Member Functions

 Controller (const ProbeResult &device)
 Constructor for the Controller class.
 Controller (const ProbeResult &device, SocketRoutingQueue &queue)
 Constructor for the Controller class.
 ~Controller ()
bool HasQueue () const
const ProbeResultGetProbeResult () const

Protected Member Functions

uint16_t SelectMode (ModeType mode)

Friends

class Barry::Mode::Desktop
class Barry::Mode::IpModem
class Barry::Mode::Serial


Member Enumeration Documentation

enum Barry::Controller::ModeType

Handheld mode type.

Definition at line 75 of file controller.h.


Constructor & Destructor Documentation

Barry::Controller::Controller ( const ProbeResult device  )  [explicit]

Constructor for the Controller class.

Requires a valid ProbeResult object to find the USB device to talk to.

Parameters:
[in] device One of the ProbeResult objects from the Probe class.

Definition at line 45 of file controller.cc.

Barry::Controller::Controller ( const ProbeResult device,
SocketRoutingQueue queue 
)

Constructor for the Controller class.

Requires a valid ProbeResult object to find the USB device to talk to.

Parameters:
[in] device One of the ProbeResult objects from the Probe class.
[in] queue Plugin router object for reading data from sockets.

Definition at line 68 of file controller.cc.

References Barry::ProbeResult::m_ep, Usb::EndpointPair::read, Barry::SocketRoutingQueue::SetUsbDevice(), and Usb::EndpointPair::write.


The documentation for this class was generated from the following files:
Generated on Wed Sep 24 21:27:32 2008 for Barry by  doxygen 1.5.1