Transformationen

Transformationsbeschreibung (XML Datei)

Die Konfigurationsdatei beschreibt (in XML) die Transformation der Template-Dateien in den Projektordner. Im Normalfall wird es sich hier um .cpp / .h sowie ggf. Projektdateien handeln – es können aber alle Arten von Dateien behandelt werden.

Der Wurzelknoten ist ein Element <ProjectFileGeneratorConfig>. Direkt an diesem Knoten kann das Attribute useProjectInterface=“true“ gesetzt werden. Es setzt den Processing Vorgang in den Modus Visual-Studio Projekte zu erzeugen (im Gegensatz zu TC-C++-Modulen).

Hier folgen mehrere <FileDescription>-Elemente, die jeweils die Transformation einer Datei beschreiben. Nach diesen Elementen besteht die Möglichkeit, in einem Element <Symbols> Symbole, die zur Transformation bereitstehen, zu definieren.

Transformation der Template-Dateien

Ein Element <FileDescription> ist folgendermaßen aufgebaut:

<FileDescription openFile="true"> 
<SourceFile>FileInTemplatesDirectory.cpp</SourceFile>
<TargetFile>[!output SYMBOLNAME].cpp</TargetFile>
<Filter>Source Files</Filter>
</FileDescription>

Transformationsanweisungen

In den Template-Dateien werden Kommandos genutzt, welche die Transformationen selber beschreiben.

Folgende Kommandos stehen bereit:

Symbolnamen

Symbolnamen können auf 3 Arten für die Transformationsanweisungen bereitgestellt werden.
Diese werden von den zuvor beschriebenen Kommandos verwendet, um Ersetzungen vorzunehmen.

  1. Eine Reihe von vordefinierten Symbolen direkt in der Konfigurationsdatei:
    In der XML-Datei ist eine Liste von <Symbols> vorgesehen. Hier können Symbole definiert werden: <Symbols>
    <Symbol>
    <Name>CustomerSymbol</Name>
    <Value>CustomerString</Value>
    </Symbol>
    </Symbols>
  2. Die generierten Zieldateinamen können durch Hinzufügen des „symbolName“-Attributes bereitgestellt werden:
    <TargetFile symbolName="CustomerFileName">[!output SYMBOLNAME].txt</TargetFile>
  3. Wichtige Symbole werden vom System selber bereitgestellt

Symbol Name (Projekte)

Beschreibung

PROJECT_NAME

Der Projektname aus dem Visual Studio Dialog.

PROJECT_NAME_UPPERCASE

Der Projektname in Großbuchstaben.

WIN32_WINNT

0x0400

DRVID

Driver ID im Format: 0x03010000

PLATFORM_TOOLSET

Toolset version, z. B. v100

PLATFORM_TOOLSET_ELEMENT

Toolset version als XML Element, z. B. <PlatformToolset>v100</PlatformToolset>

NEW_GUID_REGISTRY_FORMAT

Erstellt eine neue GUID im Format:
{48583F97-206A-4C7C-9EF2-D5C8A31F7BDC}

Symbol Name (Klassen)

Beschreibung

PROJECT_NAME

Der Projektname aus dem Visual Studio Dialog.

HEADER_FILE_NAME

Wird durch den Nutzer im Wizard-Dialog eingegeben.

SOURCE_FILE_NAME

Wird durch den Nutzer im Wizard-Dialog eingegeben.

CLASS_NAME

Wird durch den Nutzer im Wizard-Dialog eingegeben.

CLASS_SHORT_NAME

Wird durch den Nutzer im Wizard-Dialog eingegeben.

CLASS_ID

Eine neue durch den Wizard erstellte GUID.

GROUP_NAME

C++

TMC_FILE_NAME

Wird genutzt, um das TMC File zu identifizieren.

NEW_GUID_REGISTRY_FORMAT

Erstellt eine neue GUID im Format:
{48583F97-206A-4C7C-9EF2-D5C8A31F7BDC}