Main Page   Class Hierarchy   Compound List   Compound Members  

ArDeviceConnection Class Reference

Base class for device connections. More...

#include <ArDeviceConnection.h>

Inheritance diagram for ArDeviceConnection::

ArLogFileConnection ArSerialConnection ArTcpConnection List of all members.

Public Types

enum  Status {
  STATUS_NEVER_OPENED = 1, STATUS_OPEN, STATUS_OPEN_FAILED, STATUS_CLOSED_NORMALLY,
  STATUS_CLOSED_ERROR
}

Public Methods

 ArDeviceConnection (void)
 constructor.

virtual ~ArDeviceConnection (void)
 destructor also forces a close on the connection.

virtual int read (const char *data, unsigned int size, unsigned int msWait=0)=0
 Reads data from connection. More...

virtual int writePacket (ArBasePacket *packet)
 Writes data to connection. More...

virtual int write (const char *data, unsigned int size)=0
 Writes data to connection. More...

virtual int getStatus (void)=0
 Gets the status of the connection, which is one of the enum status. More...

std::string getStatusMessage (int messageNumber)
 Gets the description string associated with the status. More...

virtual bool openSimple (void)=0
 Opens the connection again, using the values from setLocation or.

virtual bool close (void)
 Closes the connection. More...

virtual std::string getOpenMessage (int messageNumber)=0
 Gets the string of the message associated with opening the device. More...

virtual ArTime getTimeRead (int index)=0
 Gets the time data was read in. More...

virtual bool isTimeStamping (void)=0
 sees if timestamping is really going on or not. More...


Detailed Description

Base class for device connections.

Base class for device connections, this is mostly for connections to the robot or simulator but could also be used for a connection to a laser or other device

Note that this is mostly a base class, so if you'll want to use one of the classes which inherit from this one... also note that in those classes is where you'll find setPort which sets the place the device connection will try to connect to... the inherited classes also have an open which returns more detailed information about the open attempt, and which takes the parameters for where to connect


Member Enumeration Documentation

enum ArDeviceConnection::Status
 

Enumeration values:
STATUS_NEVER_OPENED  Never opened.
STATUS_OPEN  Currently open.
STATUS_OPEN_FAILED  Tried to open, but failed.
STATUS_CLOSED_NORMALLY  Closed by a close call.
STATUS_CLOSED_ERROR  Closed because of error.


Member Function Documentation

virtual bool ArDeviceConnection::close void    [inline, virtual]
 

Closes the connection.

Returns:
whether the close succeeded or not

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual std::string ArDeviceConnection::getOpenMessage int    messageNumber [pure virtual]
 

Gets the string of the message associated with opening the device.

Each class inherited from this one has an open method which returns 0 for success or an integer which can be passed into this function to obtain a string describing the reason for failure

Parameters:
messageNumber  the number returned from the open
Returns:
the error description associated with the messageNumber

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual int ArDeviceConnection::getStatus void    [pure virtual]
 

Gets the status of the connection, which is one of the enum status.

Gets the status of the connection, which is one of the enum status. If you want to get a string to go along with the number, use getStatusMessage

Returns:
the status of the connection
See also:
getStatusMessage

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

std::string ArDeviceConnection::getStatusMessage int    messageNumber
 

Gets the description string associated with the status.

Parameters:
messageNumber  the int from getStatus you want the string for
Returns:
the description associated with the status
See also:
getStatus

virtual ArTime ArDeviceConnection::getTimeRead int    index [pure virtual]
 

Gets the time data was read in.

Parameters:
index  looks like this is the index back in the number of bytes last read in
Returns:
the time the last read data was read in

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual bool ArDeviceConnection::isTimeStamping void    [pure virtual]
 

sees if timestamping is really going on or not.

Returns:
true if real timestamping is happening, false otherwise

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual int ArDeviceConnection::read const char *    data,
unsigned int    size,
unsigned int    msWait = 0
[pure virtual]
 

Reads data from connection.

Reads data from connection

Parameters:
data  pointer to a character array to read the data into
size  maximum number of bytes to read
msWait  read blocks for this many milliseconds (not at all for < 0)
Returns:
number of bytes read, or -1 for failure
See also:
write, writePacket

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual int ArDeviceConnection::write const char *    data,
unsigned int    size
[pure virtual]
 

Writes data to connection.

Writes data to connection

Parameters:
data  pointer to a character array to write the data from
size  number of bytes to write
Returns:
number of bytes read, or -1 for failure
See also:
read, writePacket

Reimplemented in ArLogFileConnection, ArSerialConnection, and ArTcpConnection.

virtual int ArDeviceConnection::writePacket ArBasePacket   packet [inline, virtual]
 

Writes data to connection.

Writes data to connection from a packet

Parameters:
packet  pointer to a packet to write the data from
Returns:
number of bytes written, or -1 for failure
See also:
read, write


The documentation for this class was generated from the following files:
Generated on Tue Nov 12 17:43:51 2002 for Aria by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001