Module and Interface Definition

In this section, we define a Piedmont module and interfaces for our example TagParse component. TagParse parses data from within tag pairs of the following form:

<TAG>Optional Tag Data</TAG>

Similar to XML, an end tag differs from its start tag in that it contains an additional forward slash. Example 9-1 shows a contrived set of tags for a database definition.

Example 9-1. Sample database tags with data

<Database>
  <Schema>
    <Field>
      Data for field 1
    </Field>
  </Schema>
  <Data>
    <Record>
      Data for record 1
    </Record>
    <Record>
      Data for record 2
    </Record>
  </Data>
</Database>

Start by creating a directory called TagParse, with the subfolders shown in Figure 9-1.

TagParse component directories

Figure 9-1. TagParse component directories

Module and interface definitions are described using Piedmont’s interface definition language (PIDL). PIDL uses XML syntax to describe the elements and attributes that make up a module, interfaces, and the classes that implement interfaces. Each Piedmont component contains a module definition (MDX) file and one or more interface definition (IDX) files.

The Piedmont SDK comes with ClassForge, a GUI-based utility for setting up these files. We will use ClassForge to define the module, interfaces, and implementation class for the TagParse component. Note, however, that you may create module and interface definition files from scratch, using any text or XML editor. ...

Get Programming Visual Basic for the Palm OS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.