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

ArServerHandlerMapping Class Reference

Class that handles the starting, stopping, and status of mapping. More...

#include <ArServerHandlerMapping.h>

List of all members.

Public Member Functions

void addMappingEndCallback (ArFunctor *functor, ArListPos::Pos position=ArListPos::LAST)
 Adds a callback for the end of mapping.
void addMappingStartCallback (ArFunctor *functor, ArListPos::Pos position=ArListPos::LAST)
 Adds a callback for the start of mapping.
void addPostMoveCallback (ArFunctor *functor, ArListPos::Pos position=ArListPos::LAST)
 Adds a callback to be called after moving from temp dir to base dir.
void addPreMoveCallback (ArFunctor *functor, ArListPos::Pos position=ArListPos::LAST)
 Adds a callback to be called before moving from temp dir to base dir.
void addSimpleCommands (ArServerHandlerCommands *handlerCommands)
 Adds the simple commands to the simple command handler passed in.
void addStringForStartOfLogs (const char *str, ArListPos::Pos position=ArListPos::LAST)
 Adds a string for adding to the log when we start.
 ArServerHandlerMapping (ArServerBase *server, ArRobot *robot, ArSick *sick, const char *baseDirectory="", const char *tempDirectory="", bool useReflectorValues=false)
 Constructor.
bool packetHandler (ArRobotPacket *packet)
 The packet handler for starting/stopping scans from the lcd.
void remMappingEndCallback (ArFunctor *functor)
 Removes a callback for the end of mapping.
void remMappingStartCallback (ArFunctor *functor)
 Removes a callback for the start of mapping.
void remPostMoveCallback (ArFunctor *functor)
 Removes a callback to be called after moving from temp dir to base dir.
void remPreMoveCallback (ArFunctor *functor)
 Removes a callback to be called before moving from temp dir to base dir.
void remStringForStartOfLogs (char *str)
 Removes a string for adding to the log when we start.
void serverMappingEnd (ArServerClient *client, ArNetPacket *packet)
 Ends a map.
void serverMappingStart (ArServerClient *client, ArNetPacket *packet)
 Starts a new map unless ones already made.
void serverMappingStatus (ArServerClient *client, ArNetPacket *packet)
 Gets the mapping status.
void simpleLoopEnd (ArArgumentBuilder *arg)
 Adds a loop end to the log.
void simpleLoopStart (ArArgumentBuilder *arg)
 Adds a loop start to the log.
virtual ~ArServerHandlerMapping ()
 Deconstructor.

Protected Attributes

std::string myBaseDirectory
std::string myFileName
ArServerHandlerCommandsmyHandlerCommands
ArFunctor1C< ArServerHandlerMapping,
ArArgumentBuilder * > 
myLoopEndCB
ArFunctor1C< ArServerHandlerMapping,
ArArgumentBuilder * > 
myLoopStartCB
std::string myMapName
std::list< ArFunctor * > myMappingEndCallbacks
ArFunctor2C< ArServerHandlerMapping,
ArServerClient *, ArNetPacket * > 
myMappingEndCB
std::list< ArFunctor * > myMappingStartCallbacks
ArFunctor2C< ArServerHandlerMapping,
ArServerClient *, ArNetPacket * > 
myMappingStartCB
ArFunctor2C< ArServerHandlerMapping,
ArServerClient *, ArNetPacket * > 
myMappingStatusCB
ArRetFunctor1C< bool, ArServerHandlerMapping,
ArRobotPacket * > 
myPacketHandlerCB
std::list< ArFunctor * > myPostMoveCallbacks
std::list< ArFunctor * > myPreMoveCallbacks
ArRobotmyRobot
ArServerBasemyServer
ArSickmySick
ArSickLoggermySickLogger
std::list< std::string > myStringsForStartOfLog
std::string myTempDirectory
bool myUseReflectorValues


Detailed Description

Class that handles the starting, stopping, and status of mapping.

Definition at line 34 of file ArServerHandlerMapping.h.


Constructor & Destructor Documentation

ArServerHandlerMapping::ArServerHandlerMapping ArServerBase server,
ArRobot robot,
ArSick sick,
const char *  baseDirectory = "",
const char *  tempDirectory = "",
bool  useReflectorValues = false
 

Constructor.

Parameters:
server the server to add the handlers too
robot the robot to map from
sick the laser to map with
baseDirectory the directory to put the map file into when its done, NULL or an empty string means into the working directory
tempDirectory the directory to put the map file into while its being created, if this is NULL or empty it'll use the base directory

Definition at line 43 of file ArServerHandlerMapping.cpp.

References ArServerBase::addData(), ArRobot::addPacketHandler(), myBaseDirectory, myFileName, myHandlerCommands, myMapName, myMappingEndCB, myMappingStartCB, myMappingStatusCB, myPacketHandlerCB, myRobot, myServer, mySick, mySickLogger, myTempDirectory, myUseReflectorValues, and ArFunctor::setName().

ArServerHandlerMapping::~ArServerHandlerMapping  )  [virtual]
 

Deconstructor.

Definition at line 96 of file ArServerHandlerMapping.cpp.

References mySickLogger.


Member Function Documentation

void ArServerHandlerMapping::addMappingEndCallback ArFunctor functor,
ArListPos::Pos  position = ArListPos::LAST
 

Adds a callback for the end of mapping.

Definition at line 338 of file ArServerHandlerMapping.cpp.

References ArLog::log(), and myMappingEndCallbacks.

void ArServerHandlerMapping::addMappingStartCallback ArFunctor functor,
ArListPos::Pos  position = ArListPos::LAST
 

Adds a callback for the start of mapping.

Definition at line 320 of file ArServerHandlerMapping.cpp.

References ArLog::log(), and myMappingStartCallbacks.

void ArServerHandlerMapping::addPostMoveCallback ArFunctor functor,
ArListPos::Pos  position = ArListPos::LAST
 

Adds a callback to be called after moving from temp dir to base dir.

Definition at line 374 of file ArServerHandlerMapping.cpp.

References ArLog::log(), and myPostMoveCallbacks.

void ArServerHandlerMapping::addPreMoveCallback ArFunctor functor,
ArListPos::Pos  position = ArListPos::LAST
 

Adds a callback to be called before moving from temp dir to base dir.

Definition at line 356 of file ArServerHandlerMapping.cpp.

References ArLog::log(), and myPreMoveCallbacks.

void ArServerHandlerMapping::addSimpleCommands ArServerHandlerCommands handlerCommands  ) 
 

Adds the simple commands to the simple command handler passed in.

Definition at line 392 of file ArServerHandlerMapping.cpp.

References ArServerHandlerCommands::addStringCommand(), myHandlerCommands, myLoopEndCB, and myLoopStartCB.

void ArServerHandlerMapping::addStringForStartOfLogs const char *  str,
ArListPos::Pos  position = ArListPos::LAST
 

Adds a string for adding to the log when we start.

Definition at line 303 of file ArServerHandlerMapping.cpp.

References ArLog::log(), and myStringsForStartOfLog.

bool ArServerHandlerMapping::packetHandler ArRobotPacket packet  ) 
 

The packet handler for starting/stopping scans from the lcd.

Definition at line 420 of file ArServerHandlerMapping.cpp.

References ArNetPacket::finalizePacket(), ArRobot::lock(), ArLog::log(), myRobot, mySickLogger, serverMappingEnd(), serverMappingStart(), ArBasePacket::strToBuf(), and ArRobot::unlock().

void ArServerHandlerMapping::remMappingEndCallback ArFunctor functor  ) 
 

Removes a callback for the end of mapping.

Definition at line 350 of file ArServerHandlerMapping.cpp.

References myMappingEndCallbacks.

void ArServerHandlerMapping::remMappingStartCallback ArFunctor functor  ) 
 

Removes a callback for the start of mapping.

Definition at line 332 of file ArServerHandlerMapping.cpp.

References myMappingStartCallbacks.

void ArServerHandlerMapping::remPostMoveCallback ArFunctor functor  ) 
 

Removes a callback to be called after moving from temp dir to base dir.

Definition at line 386 of file ArServerHandlerMapping.cpp.

References myPostMoveCallbacks.

void ArServerHandlerMapping::remPreMoveCallback ArFunctor functor  ) 
 

Removes a callback to be called before moving from temp dir to base dir.

Definition at line 368 of file ArServerHandlerMapping.cpp.

References myPreMoveCallbacks.

void ArServerHandlerMapping::remStringForStartOfLogs char *  str  ) 
 

Removes a string for adding to the log when we start.

Definition at line 314 of file ArServerHandlerMapping.cpp.

References myStringsForStartOfLog.

void ArServerHandlerMapping::serverMappingEnd ArServerClient client,
ArNetPacket packet
 

Ends a map.

Definition at line 188 of file ArServerHandlerMapping.cpp.

References ArServerBase::broadcastPacketTcp(), ArBasePacket::byteToBuf(), client, ArUtil::fixSlashes(), ArRobot::lock(), ArLog::log(), myBaseDirectory, myFileName, myMapName, myMappingEndCallbacks, myPostMoveCallbacks, myPreMoveCallbacks, myRobot, myServer, mySickLogger, myTempDirectory, ArClientBase::sendPacketTcp(), ArBasePacket::strToBuf(), ArBasePacket::uByte2ToBuf(), and ArRobot::unlock().

Referenced by packetHandler().

void ArServerHandlerMapping::serverMappingStart ArServerClient client,
ArNetPacket packet
 

Starts a new map unless ones already made.

Definition at line 102 of file ArServerHandlerMapping.cpp.

References ArSickLogger::addInfoToLogPlain(), ArServerBase::broadcastPacketTcp(), ArBasePacket::byteToBuf(), client, Aria::getJoyHandler(), Aria::getRobotJoyHandler(), ArRobot::lock(), ArLog::log(), ArUtil::lower(), myFileName, myMapName, myMappingStartCallbacks, myRobot, myServer, mySick, mySickLogger, myStringsForStartOfLog, myTempDirectory, myUseReflectorValues, ArClientBase::sendPacketTcp(), ArBasePacket::strToBuf(), ArRobot::unlock(), and ArSickLogger::wasFileOpenedSuccessfully().

Referenced by packetHandler().

void ArServerHandlerMapping::serverMappingStatus ArServerClient client,
ArNetPacket packet
 

Gets the mapping status.

Definition at line 295 of file ArServerHandlerMapping.cpp.

References client, myMapName, ArClientBase::sendPacketTcp(), and ArBasePacket::strToBuf().

void ArServerHandlerMapping::simpleLoopEnd ArArgumentBuilder arg  ) 
 

Adds a loop end to the log.

Definition at line 413 of file ArServerHandlerMapping.cpp.

References ArSickLogger::addTagToLog(), and mySickLogger.

void ArServerHandlerMapping::simpleLoopStart ArArgumentBuilder arg  ) 
 

Adds a loop start to the log.

Definition at line 407 of file ArServerHandlerMapping.cpp.

References ArSickLogger::addTagToLog(), and mySickLogger.


Member Data Documentation

std::string ArServerHandlerMapping::myBaseDirectory [protected]
 

Definition at line 102 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), and serverMappingEnd().

std::string ArServerHandlerMapping::myFileName [protected]
 

Definition at line 101 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), serverMappingEnd(), and serverMappingStart().

ArServerHandlerCommands* ArServerHandlerMapping::myHandlerCommands [protected]
 

Definition at line 107 of file ArServerHandlerMapping.h.

Referenced by addSimpleCommands(), and ArServerHandlerMapping().

ArFunctor1C<ArServerHandlerMapping, ArArgumentBuilder *> ArServerHandlerMapping::myLoopEndCB [protected]
 

Definition at line 110 of file ArServerHandlerMapping.h.

Referenced by addSimpleCommands().

ArFunctor1C<ArServerHandlerMapping, ArArgumentBuilder *> ArServerHandlerMapping::myLoopStartCB [protected]
 

Definition at line 109 of file ArServerHandlerMapping.h.

Referenced by addSimpleCommands().

std::string ArServerHandlerMapping::myMapName [protected]
 

Definition at line 100 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), serverMappingEnd(), serverMappingStart(), and serverMappingStatus().

std::list<ArFunctor *> ArServerHandlerMapping::myMappingEndCallbacks [protected]
 

Definition at line 95 of file ArServerHandlerMapping.h.

Referenced by addMappingEndCallback(), remMappingEndCallback(), and serverMappingEnd().

ArFunctor2C<ArServerHandlerMapping, ArServerClient *, ArNetPacket *> ArServerHandlerMapping::myMappingEndCB [protected]
 

Definition at line 105 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping().

std::list<ArFunctor *> ArServerHandlerMapping::myMappingStartCallbacks [protected]
 

Definition at line 94 of file ArServerHandlerMapping.h.

Referenced by addMappingStartCallback(), remMappingStartCallback(), and serverMappingStart().

ArFunctor2C<ArServerHandlerMapping, ArServerClient *, ArNetPacket *> ArServerHandlerMapping::myMappingStartCB [protected]
 

Definition at line 104 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping().

ArFunctor2C<ArServerHandlerMapping, ArServerClient *, ArNetPacket *> ArServerHandlerMapping::myMappingStatusCB [protected]
 

Definition at line 106 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping().

ArRetFunctor1C<bool, ArServerHandlerMapping, ArRobotPacket *> ArServerHandlerMapping::myPacketHandlerCB [protected]
 

Definition at line 108 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping().

std::list<ArFunctor *> ArServerHandlerMapping::myPostMoveCallbacks [protected]
 

Definition at line 97 of file ArServerHandlerMapping.h.

Referenced by addPostMoveCallback(), remPostMoveCallback(), and serverMappingEnd().

std::list<ArFunctor *> ArServerHandlerMapping::myPreMoveCallbacks [protected]
 

Definition at line 96 of file ArServerHandlerMapping.h.

Referenced by addPreMoveCallback(), remPreMoveCallback(), and serverMappingEnd().

ArRobot* ArServerHandlerMapping::myRobot [protected]
 

Definition at line 89 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), packetHandler(), serverMappingEnd(), and serverMappingStart().

ArServerBase* ArServerHandlerMapping::myServer [protected]
 

Definition at line 88 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), serverMappingEnd(), and serverMappingStart().

ArSick* ArServerHandlerMapping::mySick [protected]
 

Definition at line 90 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), and serverMappingStart().

ArSickLogger* ArServerHandlerMapping::mySickLogger [protected]
 

Definition at line 99 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), packetHandler(), serverMappingEnd(), serverMappingStart(), simpleLoopEnd(), simpleLoopStart(), and ~ArServerHandlerMapping().

std::list<std::string> ArServerHandlerMapping::myStringsForStartOfLog [protected]
 

Definition at line 98 of file ArServerHandlerMapping.h.

Referenced by addStringForStartOfLogs(), remStringForStartOfLogs(), and serverMappingStart().

std::string ArServerHandlerMapping::myTempDirectory [protected]
 

Definition at line 103 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), serverMappingEnd(), and serverMappingStart().

bool ArServerHandlerMapping::myUseReflectorValues [protected]
 

Definition at line 91 of file ArServerHandlerMapping.h.

Referenced by ArServerHandlerMapping(), and serverMappingStart().


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