Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

ArServerInfoSensor Class Reference

Service providing clients with data from range sensors. More...

#include <ArServerInfoSensor.h>

List of all members.

Public Member Functions

 ArServerInfoSensor (ArServerBase *server, ArRobot *robot)
void getSensorCumulative (ArServerClient *client, ArNetPacket *packet)
void getSensorCurrent (ArServerClient *client, ArNetPacket *packet)
void getSensorList (ArServerClient *client, ArNetPacket *packet)
virtual ~ArServerInfoSensor ()

Protected Attributes

ArFunctor2C< ArServerInfoSensor,
ArServerClient *, ArNetPacket * > 
myGetSensorCumulativeCB
ArFunctor2C< ArServerInfoSensor,
ArServerClient *, ArNetPacket * > 
myGetSensorCurrentCB
ArFunctor2C< ArServerInfoSensor,
ArServerClient *, ArNetPacket * > 
myGetSensorListCB
ArRobotmyRobot
ArServerBasemyServer


Detailed Description

Service providing clients with data from range sensors.

This service accepts the following data requests:

The getSensorList request replies with the following data packet:

  1. Number of sensors (2-byte integer)
  2. For each sensor:
    1. sensor name (Null-terminated string)

The getSensorCurrent and getSensorCumulative requests must include the following data:

  1. Sensor name (Null-terminated string)

The getSensorCurrent and getSensorCumulative requests reply with the following data packets:

  1. Number of readings, or -1 for invalid sensor name error (2-byte integer)
  2. Sensor name (null-terminated string)
  3. For each reading:
    1. X coordinate of reading (4-byte integer)
    2. Y coordinate of reading (4-byte integer)

This service's requests are all in the SensorInfo group.

Examples:

drawingsExampleWithRobot.cpp, and serverDemo.cpp.

Definition at line 71 of file ArServerInfoSensor.h.


Constructor & Destructor Documentation

ArServerInfoSensor::ArServerInfoSensor ArServerBase server,
ArRobot robot
 

Definition at line 30 of file ArServerInfoSensor.cpp.

References ArServerBase::addData(), myGetSensorCumulativeCB, myGetSensorCurrentCB, myGetSensorListCB, myRobot, and myServer.

ArServerInfoSensor::~ArServerInfoSensor  )  [virtual]
 

Definition at line 69 of file ArServerInfoSensor.cpp.


Member Function Documentation

void ArServerInfoSensor::getSensorCumulative ArServerClient client,
ArNetPacket packet
 

Definition at line 154 of file ArServerInfoSensor.cpp.

References ArBasePacket::byte2ToBuf(), ArBasePacket::byte4ToBuf(), client, ArRobot::findRangeDevice(), ArRangeDevice::getCumulativeBuffer(), ArRobot::lock(), ArRangeDevice::lockDevice(), ArLog::log(), myRobot, ArClientBase::sendPacketUdp(), ArBasePacket::strToBuf(), ArRobot::unlock(), and ArRangeDevice::unlockDevice().

void ArServerInfoSensor::getSensorCurrent ArServerClient client,
ArNetPacket packet
 

Definition at line 102 of file ArServerInfoSensor.cpp.

References ArBasePacket::byte2ToBuf(), ArBasePacket::byte4ToBuf(), client, ArRobot::findRangeDevice(), ArRangeDevice::getCurrentBuffer(), ArRobot::lock(), ArRangeDevice::lockDevice(), ArLog::log(), myRobot, ArClientBase::sendPacketUdp(), ArBasePacket::strToBuf(), ArRobot::unlock(), and ArRangeDevice::unlockDevice().

void ArServerInfoSensor::getSensorList ArServerClient client,
ArNetPacket packet
 

Definition at line 74 of file ArServerInfoSensor.cpp.

References ArBasePacket::byte2ToBuf(), client, ArRobot::getRangeDeviceList(), ArRobot::lock(), myRobot, ArClientBase::sendPacketUdp(), ArBasePacket::strToBuf(), and ArRobot::unlock().


Member Data Documentation

ArFunctor2C<ArServerInfoSensor, ArServerClient *, ArNetPacket *> ArServerInfoSensor::myGetSensorCumulativeCB [protected]
 

Definition at line 85 of file ArServerInfoSensor.h.

Referenced by ArServerInfoSensor().

ArFunctor2C<ArServerInfoSensor, ArServerClient *, ArNetPacket *> ArServerInfoSensor::myGetSensorCurrentCB [protected]
 

Definition at line 84 of file ArServerInfoSensor.h.

Referenced by ArServerInfoSensor().

ArFunctor2C<ArServerInfoSensor, ArServerClient *, ArNetPacket *> ArServerInfoSensor::myGetSensorListCB [protected]
 

Definition at line 83 of file ArServerInfoSensor.h.

Referenced by ArServerInfoSensor().

ArRobot* ArServerInfoSensor::myRobot [protected]
 

Definition at line 81 of file ArServerInfoSensor.h.

Referenced by ArServerInfoSensor(), getSensorCumulative(), getSensorCurrent(), and getSensorList().

ArServerBase* ArServerInfoSensor::myServer [protected]
 

Definition at line 82 of file ArServerInfoSensor.h.

Referenced by ArServerInfoSensor().


The documentation for this class was generated from the following files:
Generated on Tue Feb 20 10:51:51 2007 for ArNetworking by  doxygen 1.4.0