| C++ Types | Index |
You will need to be familiar with a few main classes and types when working with the Garcia C++ API. They are listed below along with a short description.
acpValue
In the Garcia API, the actions of the robot are controlled by assigning values to properties. The acpValue class handles all operations for storing and retrieving values. This class supports the following types of values: int, float, char pointer (string), bool, void pointer, acpCallback pointer, and acpObject pointer.
acpObject
This is the base class from which the Garcia object itself and all related objects are derived. An acpObject has collections of properties and subobjects. Subobjects are instances of the acpObject class or classes derived from it. This class provides an interface for setting and getting property values and accessing the subobjects. It also provides an interface for enumerating the properties and subobjects.
acpGarcia
The acpGarcia class encapsulates the basic interaction and sequencing of primitives and behaviors on the Garcia robot and provides access to the properties of the Garcia robot. Most all of your communication with the robot will take place through this object.
acpCallback
This is an abstract base class. A behavior may invoke an acpCallback object when it begins execution or completes execution. An acpCallback pointer may be associated with a behavior by setting an appropriate property. The user must derive a new class in order to use an acpCallback object.
acpBehavior
This is the class associated with a Garcia behavior. It is derived from the acpObject class. The acpBehavior class is not exposed to the user. Instead, the user may create a behavior by calling the acpGarcia createBehavior or createNamedBehavior method which construct an acpBehavior object from a specified primitive type. These methods return an acpObject pointer. The user can access the acpBehavior properties using the base-class acpObject interface. Once behaviors are created, they may be queued for execution.