Aria Class Reference

#include <ariaInternal.h>

List of all members.


Detailed Description

This class performs global initialization and deinitialization.


Public Types

enum  SigHandleMethod { SIGHANDLE_SINGLE, SIGHANDLE_THREAD, SIGHANDLE_NONE }

Static Public Member Functions

static void addExitCallback (ArFunctor *functor, int position=50)
 Adds a functor to by called before program exit by Aria::exit().
static void addInitCallBack (ArFunctor *cb, ArListPos::Pos position)
 Adds a callback to call when Aria is initialized using init().
static void addLogOptionsCB (ArFunctor *functor, int position=50)
 Adds a callback for when we log options.
static void addParseArgsCB (ArRetFunctor< bool > *functor, int position=50)
 Adds a callback for when we parse arguments.
static void addRobot (ArRobot *robot)
 Add a robot to the global list of robots.
static void addUninitCallBack (ArFunctor *cb, ArListPos::Pos position)
 Adds a callback to call when Aria is uninititialized using uninit().
static void callExitCallbacks (void)
 Internal, calls the exit callbacks.
static void delRobot (ArRobot *robot)
 Remove a robot from the global list of robots.
static bool deviceConnectionAddCreator (const char *deviceConnectionType, ArRetFunctor3< ArDeviceConnection *, const char *, const char *, const char * > *creator)
 Adds a type of deviceConnection for Aria to be able to create.
static ArDeviceConnectiondeviceConnectionCreate (const char *deviceConnectionType, const char *port, const char *defaultInfo, const char *prefix="Aria::deviceConnectionCreate")
 Creates a deviceConnection of the given type.
static const char * deviceConnectionGetTypes (void)
 Gets a list of the possible deviceConnection types.
static void exit (int exitCode=0)
 Shutdown all Aria processes/threads, call exit callbacks, and exit the program.
static void exitOld (int exitCode=0)
 Force an exit of all Aria processes/threads (the old way).
static ArRobotfindRobot (char *name)
 Finds a robot in the global list of robots, by name.
static ArConfiggetConfig (void)
 Gets the ArConfig for this program.
static const char * getDirectory (void)
 Gets the directory that ARIA resides in.
static ArStringInfoGroupgetInfoGroup (void)
 Gets the ArStringInfoGroup for this program.
static ArJoyHandlergetJoyHandler (void)
 Get a pointer to the joystick handler if one has been set with setJoyHandler().
static ArKeyHandlergetKeyHandler (void)
 Gets a pointer to the global key handler, if one has been set with setKeyHandler().
static int getMaxNumLasers (void)
 Gets the maximum number of lasers to use.
static ArRobotJoyHandlergetRobotJoyHandler (void)
 Gets the robot joystick handler if one has been set.
static std::list< ArRobot * > * getRobotList ()
 Get a copy of the global robot list.
static bool getRunning (void)
 Sees if Aria is still running (mostly for the thread in main).
static void init (SigHandleMethod method=SIGHANDLE_THREAD, bool initSockets=true, bool sigHandleExitNotShutdown=true)
 Initialize Aria global data struture and perform OS-specific initialization, including adding OS signal handlers on Linux, initializing sockets library on Windows, etc.
static bool laserAddCreator (const char *laserType, ArRetFunctor2< ArLaser *, int, const char * > *creator)
 Adds a type of laser for Aria to be able to create.
static ArLaserlaserCreate (const char *laserType, int laserNumber, const char *prefix="Aria::laserCreate")
 Creates a laser of the given type.
static const char * laserGetTypes (void)
 Gets a list of the possible laser types.
static void logOptions (void)
 Logs all the options for the program (Calls all the callbacks added with addLogOptionsCB()).
static bool parseArgs (void)
 Parses the arguments for the program (calls all the callbacks added with addParseArgsCB()).
static void remExitCallback (ArFunctor *functor)
 Removes a functor to by called before program exit by Aria::exit().
static void setDirectory (const char *directory)
 Sets the directory that ARIA resides in, to override default.
static void setExitCallbacksLogLevel (ArLog::LogLevel level)
 Sets the log level for the exit callbacks.
static void setJoyHandler (ArJoyHandler *joyHandler)
 Sets the joystick handler, so that other classes can find it using getJoyHandler().
static void setKeyHandler (ArKeyHandler *keyHandler)
 Sets the key handler, so that other classes can find it using getKeyHandler().
static void setMaxNumLasers (int maxNumLasers)
 Sets the maximum number of lasers to use.
static void setParseArgLogLevel (ArLog::LogLevel level)
 Sets the log level for the parsing function.
static void setRobotJoyHandler (ArRobotJoyHandler *robotJoyHandler)
 Sets the robot joystick handler, so that other classes can find it.
static void shutdown ()
 Shutdown all Aria processes/threads.
static void signalHandlerCB (int sig)
 Internal, the callback for the signal handling.
static void uninit ()
 Performs OS-specific deinitialization, used by shutdown() and exit().

Static Protected Attributes

static ArConfig ourConfig
static std::map< std::string,
ArRetFunctor3< ArDeviceConnection *,
const char *, const char *,
const char * > *, ArStrCaseCmpOp
ourDeviceConnectionCreatorMap
static std::string ourDeviceConnectionTypes
static std::string ourDirectory
static std::multimap< int,
ArFunctor * > 
ourExitCallbacks
static ArLog::LogLevel ourExitCallbacksLogLevel
static ArMutex ourExitCallbacksMutex
static bool ourExiting
static ArStringInfoGroup ourInfoGroup
static std::list< ArFunctor * > ourInitCBs
static bool ourInited
static ArJoyHandlerourJoyHandler
static ArKeyHandlerourKeyHandler
static std::map< std::string,
ArRetFunctor2< ArLaser *,
int, const char * > *, ArStrCaseCmpOp
ourLaserCreatorMap
static std::string ourLaserTypes
static std::multimap< int,
ArFunctor * > 
ourLogOptionsCBs
static int ourMaxNumLasers
static std::multimap< int,
ArRetFunctor< bool > * > 
ourParseArgCBs
static ArLog::LogLevel ourParseArgsLogLevel
static ArRobotJoyHandlerourRobotJoyHandler
static std::list< ArRobot * > ourRobots
static bool ourRunning
static bool ourShuttingDown
static ArMutex ourShuttingDownMutex
static bool ourSigHandleExitNotShutdown
static ArGlobalFunctor1< int > ourSignalHandlerCB
static std::list< ArFunctor * > ourUninitCBs


Member Enumeration Documentation

enum Aria::SigHandleMethod

Enumerator:
SIGHANDLE_SINGLE  Setup signal handlers in a global, non-thread way.
SIGHANDLE_THREAD  Setup a dedicated signal handling thread.
SIGHANDLE_NONE  Do no signal handling.


The documentation for this class was generated from the following file:
Generated on Thu Aug 6 09:39:35 2009 for Aria by  doxygen 1.5.1