@tool

Abstract class representing a tool. A tool is a piece of software without any special UI requirements other than a console for outputting status information, and an output stream. Typically tools mimic shell scripts like in a unix environment, or "console" programs. It's class-name (used for any type of code generation) is "tool".

The namespace within the parent namespace is "ph:tools".

The object fits into the tree of objects in the following way. Click on other objects in to navigate to that object. Objects to the left of this object are superclasses, and objects listed below it derive from this one.

Here is a list of all uses of this object inside others. Click on the object to take you to the definition.

Click here to see a tree representation of all objects.

Click here to return to the main index page.

Members

This object contains members which hold data for the object. Following is a list of those members. The declaration of the member closely follows the UML conventions.

templates : templatevectortype

Template objects used to create others.

Methods

This object contains methods which can be called from other objects. Following is a list of those methods. The syntax of the method, it's arguments and return value follow closely the UML conventions.

process

Do whatever the tool does. All tools override this method and then provide an implementation to do whatever they need to do. Typically they will process information and then output something to an output buffer.

Any other method of any other object can call this method. This is called 'public' access.

The data-type returned is "booltype"; Returns true if the function is successful.

The method takes the following arguments:

console : streamptrtype

A place to put errors or status information which is not meant to be part of the output.

output : streamptrtype

The output stream for this tool.

Here is a list of all overrides of this method inside sub-classes. Click on the object to take you to the definition.

Types

This object defines a number of types, all listed here. Objects that appear as sub-classes if this one may use these types in return types, arguments to methods or when defining methods.

Builtin type definitions

The following builtin types are defined in this object. Click on a type to take you to it's description.

Definitions

The following types are defined in this object.

chararrayptrtype

An pointer to an array of characters.

stringmapptrtype

An pointer to a map between pairs of strings.

xmlobj_contextptrtype

A pointer to context used when creating xmlobjs.

Implementations

The following types have implementations defined in this object. Each implementation is language specific, and is used to output code for that language when using the type.

chararrayptrtype

This implementation is for the language C++.

When declaring variables, we use:

char **

When declaring arguments, we use:

char **

stringmapptrtype

This implementation is for the language C++.

When declaring variables, we use:

std::map<std::string, std::string> *

When declaring arguments, we use:

std::map<std::string, std::string> *

To use this type the file "<map>" is included.

xmlobj_contextptrtype

This implementation is for the language C++.

To initialise variables of this type we use:

0

When declaring variables, we use:

ph::xmlobj::xmlobj_context *

When declaring arguments, we use:

ph::xmlobj::xmlobj_context *

To use this type the file ""../cppxmlobj/xmlobj_context.hpp"" is included.

Generated: Thu Apr 6 00:00:18 EST 2006 using "xsltproc ... docbook.xsl". Copyright (c) 2003, 2004, 2005; Paul Hamilton; pHamtec P/L. Use, modification, and distribution is provided free of any limitations.