<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>ATL Object Wizard</title>
</head>
<body bgcolor="#FFFFFF">
<p><font size="2">All wizard directives are enclosed in
[!…].</font></p>
<p><font size="2"><b>SYMBOLS</b> are denoted in uppercase.</font></p>
<p><font size="2">The wizard is case sensitive.</font></p>
<p><font size="2">The arguments to the wizard directives should
be between ( ).</font></p>
<p><font size="4"><b><u>Wizard Directives.</u></b></font></p>
<p><font size="2"><b>SYMBOL</b></font></p>
<blockquote>
<p><font size="2">Replaces the symbol with the value of the
symbol.</font></p>
</blockquote>
<p><font size="2"><b>if(SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Wizard ignores whatever is after this
statement till it finds an <b>else</b> or <b>endif</b>
directive if it does not find the symbol in its map. It does
not care for the value of the symbol.</font></p>
</blockquote>
<p><font size="2"><b>if!(SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Wizard ignores whatever is after this
statement till it finds an <b>else</b> or <b>endif</b>
directive if it finds the symbol in its map. It does not care
for the value of the symbol.</font></p>
</blockquote>
<p><font size="2"><b>if=(SYMBOL, "</b><b><i>value"</i></b><b>)</b></font></p>
<blockquote>
<p><font size="2">Wizard performs the directives after this
statement till it finds an <b>else</b> or <b>endif</b>
directive only if the value of the symbol matches the string.</font></p>
</blockquote>
<p><font size="2"><b>if!=(SYMBOL, "</b><b><i>value"</i></b><b>)</b></font></p>
<blockquote>
<p><font size="2">Wizard performs the directives after this
statement till it finds an <b>else</b> or <b>endif</b>
directive only if the value of the symbol does not match the
string.</font></p>
</blockquote>
<p><font size="2"><b>endif</b></font></p>
<blockquote>
<p><font size="2">Indicates the end of the if directives.</font></p>
</blockquote>
<p><font size="2"><b>else</b></font></p>
<blockquote>
<p><font size="2">Used with if directives to associate
directives when the condition fails.</font></p>
</blockquote>
<p><font size="2"><b>crlf</b></font></p>
<blockquote>
<p><font size="2">Inserts a new line in the output file.</font></p>
</blockquote>
<p><font size="2"><b>outputoff</b></font></p>
<blockquote>
<p><font size="2">Turns off the output of the processed file.</font></p>
</blockquote>
<p><font size="2"><b>outputon</b></font></p>
<blockquote>
<p><font size="2">Turns on the output of the processed file.</font></p>
</blockquote>
<p><font size="2"><b>set(SYMBOL, "</b><b><i>value"</i></b><b>)</b></font></p>
<blockquote>
<p><font size="2">Sets the value of the symbol in the map of
symbols. If the symbol is not in the map then it is added to
the map.</font></p>
</blockquote>
<p><font size="2"><b>RemoveSymbol (SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Removes the symbol from the internal map.</font></p>
</blockquote>
<p><font size="2"><b>include(FILENAME)</b></font></p>
<blockquote>
<p><font size="2">Parses the contents of the specified file
and add the parsed contents to the outputfile. It should be
included after a target directive.</font></p>
</blockquote>
<p><font size="2"><b>target() or target(FILENAME)</b></font></p>
<blockquote>
<p><font size="2">Specifies that further output should be
sent to the specified file if one is suggested. Use the
include directive to add contents of a template file in to
the output file after processing it.</font></p>
</blockquote>
<blockquote>
<p><font size="2">When specified without a filename it closes
the current outputfile.</font></p>
<p><font size="2">Before processing the file this Sets a
symbol FileExists to "TRUE" or "FALSE"
depending on whether the target file already exists.</font></p>
<p><font size="2">Example :</font></p>
<p><font size="2">target(CPPFILE)</font></p>
<p><font size="2">include(CPPTEMPLATE)</font></p>
<p><font size="2">target()</font></p>
<p><font size="2">The above directives assume that CPPFILE
and CPPTEMPLATE symbols point to valid filenames. The first
directive target(CPPFILE) specifies that further output
should be sent to the specified file. The
include(CPPTEMPLATE) directive specifies that the template
file specified by CPPTEMPLATE should be processed by the
wizard and the processed contents sent to the current output
file. The last directive target() specifies that the current
output file should be closed. At this point there is not
current output file.</font></p>
</blockquote>
<p><font size="2"><b>newguid(SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Directive creates a new guid and puts its
value into the specified SYMBOL</font></p>
</blockquote>
<p><font size="2"><b>CopyFile(EXISTINGFILENAME, NEWFILENAME)</b></font></p>
<blockquote>
<p><font size="2">Copies existing file to a new file</font></p>
</blockquote>
<p><font size="2"><b>DeleteFile(FILENAME)</b></font></p>
<blockquote>
<p><font size="2">Deletes the file</font></p>
</blockquote>
<p><font size="2"><b>GetTemporaryFileName(SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Uses system calls to create a temporary
filename and sets the symbol to the value.</font></p>
</blockquote>
<p><font size="2"><b>DoubleSlash(SYMBOL)</b></font></p>
<blockquote>
<p><font size="2">Adds a \ after an existing \ to the value
of the symbol. This will be useful when adding headers files
with a path in them.</font></p>
</blockquote>
<blockquote>
<p><font size="2">Example</font></p>
<p><font size="2">INCLUDEFILESTRING has value of
"..\include\headerfile.h"</font></p>
<p><font size="2">After the following directive is executed </font></p>
<p><font size="2">DoubleSlash(INCLUDEFILESTRING)</font></p>
<p><font size="2">INCLUDEFILESTRING will be
"..\\include\\headerfile.h"</font></p>
</blockquote>
<p><font size="2"><b>AddInterfaceToIDL(IDLFILENAME, FILENAME)</b></font></p>
<blockquote>
<p><font size="2">Processes the contents of the specified
file and adds it to the IDL file assuming that the contents
in the specified file is information about an Interface.</font></p>
</blockquote>
<p><font size="2"><b>AddCoClassToIDL(IDLFILENAME, FILENAME)</b></font></p>
<blockquote>
<p><font size="2">Processes the contents of the specified
file and adds it to the IDL file assuming that the contents
in the specified file is information about a CoClass.</font></p>
</blockquote>
<p><font size="2"><b>AddToObjectMap(COCLASSNAME, CLASSNAME)</b></font></p>
<blockquote>
<p><font size="2">Adds a directive to the ObjectMap of
project associating the CoClass with the class.</font></p>
</blockquote>
<p><font size="2"><b>AddIncludeFile(FILENAME, INCLUDEDIRECTIVE)</b></font></p>
<blockquote>
<p><font size="2">Adds the #include preprocessor directive to
the specified file. INCLUDEDIRECTIVE specifies what follows
#include. The is added after any existing #include directives
in the file.</font></p>
</blockquote>
<p><font size="2"><b>AddImportFile(IDLFILENAME, "</b><b><i>value"</i></b><b>)</b></font></p>
<blockquote>
<p><font size="2">Adds the import statement line to the
specified IDL file. Value specifies what to import. This is
added after any existing import statements in the IDL file</font></p>
</blockquote>