CTCLObjectPackage -- Provide common functionality for a set of related commands.


#include <TCLObjectPackage.h>
 class CTCLObjectPackage {

  void addCommand(CTCLPackagedObjectProcessor* processor);
  CTCLObjectPackage::CommandIterator begin();
  CTCLObjectPackage::CommandIterator end();


This class is a base class for a set of common services that can be offered to a set of related commands. The commands themselves must be derived from CTCLPackagedObjectProcessor.

The base class provides the infrastructor for maintaining the list of command objects that participate in the package, for associating a command with the package, and for iterating through associated command objects.

Public member functions

void addCommand(CTCLPackagedObjectProcessor* processor);

Adds a new command object to the package. The command object will have its onAttache method invoked, which allows it to save the command package (passed in as a parameter), and to do any initialization that requires the command package services.

CTCLObjectPackage::CommandIterator begin();

Returns an iterator for the first command object associated with the object. The iterator is a pointer like object in the sense that dereferencing it will yield a pointer to ta command object. The iterator can be stepped through the collection via the incremenet operator (++). Iteration is complete when the iterator is equal to end() see below.

CTCLObjectPackage::CommandIterator end();

Provides an end iterator against which to compare an iterator over the commands to determine if all of them have been visited.

Types and public data

CTCLObjectPackage::CommandIterator is a pointer like object returned by the begin and end methods to allow iteration through the set of command objects associated with this package.