Aria  2.8.0
ArMapInfoInterface Class Referenceabstract

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

#include <ArMapInterface.h>

Inherited by ArMapInfo, and ArMapInterface.

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

Static Public Attributes

static const char * CAIRN_INFO_NAME = "CairnInfo:"
 
static const char * CUSTOM_INFO_NAME = "CustomInfo:"
 
static const char * MAP_INFO_NAME = "MapInfo:"
 
static const char * META_INFO_NAME = "MetaInfo:"
 
static const char * ROUTE_INFO_NAME = "RouteInfo:"
 
static const char * SCHED_INFO_NAME = "SchedInfo:"
 
static const char * SCHED_TASK_INFO_NAME = "SchedTaskInfo:"
 
static const char * TASK_INFO_NAME = "TaskInfo:"
 

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.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Deprecated:
Enumerator
INFO_COUNT 

Number of standard Info categories.

◆ 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.

CUSTOM_INFO 

CustomInfo lines contain application specific data.

LAST_INFO 

Last value in the enumeration.

Member Function Documentation

◆ getInfo() [1/2]

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
infoNamethe 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

◆ getInfo() [2/2]

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
infoTypethe 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

◆ getInfoName()

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
infoTypethe int ID of the Info category
Returns
const char * the name of the specified Info category; or NULL if not found

◆ getInfoNames()

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.

◆ getMapInfo()

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

◆ setInfo() [1/2]

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
infoNamethe unique const char * identifier of the
infoListthe std::list<ArArgumentBuilder *> * that defines the Info category's contents; NULL to clear the Info
changeDetailsa 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

◆ setInfo() [2/2]

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
infoTypethe int ID of the Info category to be set
infoListthe std::list<ArArgumentBuilder *> * that defines the Info category's contents; NULL to clear the Info
changeDetailsa 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

◆ setMapInfo()

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);

◆ writeInfoToFunctor()

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
functora pointer to the ArFunctor1 that writes the text lines
endOfLineCharsthe const char * string that indicates the end of each text line

The documentation for this class was generated from the following files: