ArMapInfoInterface Class Reference

#include <ArMapInterface.h>

Inheritance diagram for ArMapInfoInterface:

ArMapInfo ArMapInterface ArMap ArMapSimple List of all members.

Detailed Description

Methods related to setting and retrieving the various "info" tags in an Aria map.

ArMapInfoInterface is an abstract class that defines the methods used to get and set an Aria map's "info" arguments. An Aria map may have one or more categories of info, each implemented by an ordered list of ArArgumentBuilder's. The ArMapInfoInterface defines access to a collection of these info categories.


Public Types

enum  { INFO_COUNT = LAST_INFO + 1 }
enum  InfoType {
  MAP_INFO, FIRST_INFO = MAP_INFO, META_INFO, TASK_INFO,
  ROUTE_INFO, SCHED_TASK_INFO, SCHED_INFO, CAIRN_INFO,
  CUSTOM_INFO, LAST_INFO = CUSTOM_INFO
}
 List of the standard Info categories defined for Aria maps. More...

Public Member Functions

 ArMapInfoInterface ()
 Constructor.
virtual std::list< ArArgumentBuilder * > * getInfo (int infoType)=0
 Gets the strings for the specified Info category.
virtual std::list< ArArgumentBuilder * > * getInfo (const char *infoName)=0
 Returns the arguments for the specified info category; or NULL if none found.
virtual int getInfoCount () const=0
 Returns the number of info categories that are contained in this collection.
virtual const char * getInfoName (int infoType)=0
 Returns the name of the specified Info type.
virtual std::list< std::string > getInfoNames () const=0
 Returns a list of the info category names that are contained in this collection.
virtual std::list< ArArgumentBuilder * > * getMapInfo (void)=0
 Gets the map info strings.
virtual bool setInfo (int infoType, const std::list< ArArgumentBuilder * > *infoList, ArMapChangeDetails *changeDetails=NULL)=0
 Sets the contents of the specified Info category (copies those passed in).
virtual bool setInfo (const char *infoName, const std::list< ArArgumentBuilder * > *infoList, ArMapChangeDetails *changeDetails=NULL)=0
 Sets the contents of the specified Info category (copies those passed in).
virtual bool setMapInfo (const std::list< ArArgumentBuilder * > *mapInfo, ArMapChangeDetails *changeDetails=NULL)=0
 Sets the map info (copies those passed in).
virtual void writeInfoToFunctor (ArFunctor1< const char * > *functor, const char *endOfLineChars)=0
 Writes the info collection to a text-based functor.
virtual ~ArMapInfoInterface ()
 Destructor.

Static Public Attributes

static const char * CAIRN_INFO_NAME
static const char * CUSTOM_INFO_NAME
static const char * MAP_INFO_NAME
static const char * META_INFO_NAME
static const char * ROUTE_INFO_NAME
static const char * SCHED_INFO_NAME
static const char * SCHED_TASK_INFO_NAME
static const char * TASK_INFO_NAME


Member Enumeration Documentation

anonymous enum

Deprecated:
Enumerator:
INFO_COUNT  Number of standard Info categories.

enum ArMapInfoInterface::InfoType

List of the standard Info categories defined for Aria maps.

Deprecated:
Enumerator:
MAP_INFO  MapInfo lines that define the valid map object types.
FIRST_INFO  First value in the enumeration.
META_INFO  MetaInfo lines that provide overview info about the map.
TASK_INFO  TaskInfo lines that define the available robot tasks.
ROUTE_INFO  RouteInfo lines that are the goal assocs, macros, and routes.
SCHED_TASK_INFO  SchedTaskInfo that define special tasks that may be scheduled.
SCHED_INFO  SchedInfo lines that are the schedules of route patrols.
CAIRN_INFO  CairnInfo lines that contain optional arguments for map objects.
LAST_INFO  Last value in the enumeration.


Member Function Documentation

virtual std::list<ArArgumentBuilder *>* ArMapInfoInterface::getInfo ( int  infoType  )  [pure virtual]

Gets the strings for the specified Info category.

Deprecated:
use getInfo(const char *) instead
This method returns a pointer to the actual ArArgumentBuilder list that is contained in the map. It is not safe to store these pointers because they will be deleted when the map is changed. If the caller needs the info arguments at a later time, then it should create its own copy of each argument in the list. This method is not thread-safe.

Parameters:
infoType the int ID of the Info category; must be >= 0 and less than numInfos
Returns:
std::list<ArArgumentBuilder *> * a pointer to the specified Info list; NULL if infoType was invalid

virtual std::list<ArArgumentBuilder *>* ArMapInfoInterface::getInfo ( const char *  infoName  )  [pure virtual]

Returns the arguments for the specified info category; or NULL if none found.

This method returns a pointer to the actual ArArgumentBuilder list that is contained in the map. It is not safe to store these pointers because they will be deleted when the map is changed. If the caller needs the info arguments at a later time, then it should create its own copy of each argument in the list. This method is not thread-safe.

Parameters:
infoName the unique char * identifier of the info category to be returned; must be non-NULL and a member of
Returns:
std::list<ArArgumentBuilder *> * a pointer to the specified Info list; NULL if infoType was invalid

virtual const char* ArMapInfoInterface::getInfoName ( int  infoType  )  [pure virtual]

Returns the name of the specified Info type.

Deprecated:
The info name is the "xInfo:" tag that appears at the beginning of each text line. If subclasses define additional Info categories, then they must override this method.
Parameters:
infoType the int ID of the Info category
Returns:
const char * the name of the specified Info category; or NULL if not found

virtual std::list<std::string> ArMapInfoInterface::getInfoNames (  )  const [pure virtual]

Returns a list of the info category names that are contained in this collection.

Returns:
the list of string names of the info categories (for example, MAP_INFO_NAME, META_INFO_NAME, ...) This method is not thread-safe.

virtual std::list<ArArgumentBuilder *>* ArMapInfoInterface::getMapInfo ( void   )  [pure virtual]

Gets the map info strings.

This method is equivalent to getInfo(MAP_INFO_NAME).

See also:
getInfo

virtual bool ArMapInfoInterface::setInfo ( int  infoType,
const std::list< ArArgumentBuilder * > *  infoList,
ArMapChangeDetails changeDetails = NULL 
) [pure virtual]

Sets the contents of the specified Info category (copies those passed in).

Deprecated:
use setInfo(const char *,const std::list<ArArgumentBuilder *> *,ArMapChangeDetails*)
This method is not thread-safe.
Parameters:
infoType the int ID of the Info category to be set
infoList the std::list<ArArgumentBuilder *> * that defines the Info category's contents; NULL to clear the Info
changeDetails a pointer to the ArMapChangeDetails in which to accumulate changes to the map's info lines; if NULL, then changes are not tracked
Returns:
bool set to true if the contents were successfully set; false, if infoType was invalid
See also:
ArMapChangeDetails

virtual bool ArMapInfoInterface::setInfo ( const char *  infoName,
const std::list< ArArgumentBuilder * > *  infoList,
ArMapChangeDetails changeDetails = NULL 
) [pure virtual]

Sets the contents of the specified Info category (copies those passed in).

This method is not thread-safe.

Parameters:
infoName the unique const char * identifier of the
infoList the std::list<ArArgumentBuilder *> * that defines the Info category's contents; NULL to clear the Info
changeDetails a pointer to the ArMapChangeDetails in which to accumulate changes to the map's info lines; if NULL, then changes are not tracked
Returns:
bool set to true if the contents were successfully set; false, if an error occurred
See also:
ArMapChangeDetails

setInfoNames

virtual bool ArMapInfoInterface::setMapInfo ( const std::list< ArArgumentBuilder * > *  mapInfo,
ArMapChangeDetails changeDetails = NULL 
) [pure virtual]

Sets the map info (copies those passed in).

This method is equivalent to setInfo(MAP_INFO, mapInfo, changeDetails);

virtual void ArMapInfoInterface::writeInfoToFunctor ( ArFunctor1< const char * > *  functor,
const char *  endOfLineChars 
) [pure virtual]

Writes the info collection to a text-based functor.

This method writes a text line for each of the info's ArArgumentBuilders. This method is not thread-safe.

Parameters:
functor a pointer to the ArFunctor1 that writes the text lines
endOfLineChars the const char * string that indicates the end of each text line


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