Palm::Address(3) Handler for Palm AddressBook databases

SYNOPSIS


use Palm::Address;

DESCRIPTION

The Address PDB handler is a helper class for the Palm::PDB package. It parses AddressBook databases.

AppInfo block

The AppInfo block begins with standard category support. See Palm::StdAppInfo for details.

Other fields include:

    $pdb->{appinfo}{lastUniqueID}
    $pdb->{appinfo}{dirtyFields}

I don't know what these are.

    $pdb->{appinfo}{fieldLabels}{name}
    $pdb->{appinfo}{fieldLabels}{firstName}
    $pdb->{appinfo}{fieldLabels}{company}
    $pdb->{appinfo}{fieldLabels}{phone1}
    $pdb->{appinfo}{fieldLabels}{phone2}
    $pdb->{appinfo}{fieldLabels}{phone3}
    $pdb->{appinfo}{fieldLabels}{phone4}
    $pdb->{appinfo}{fieldLabels}{phone5}
    $pdb->{appinfo}{fieldLabels}{phone6}
    $pdb->{appinfo}{fieldLabels}{phone7}
    $pdb->{appinfo}{fieldLabels}{phone8}
    $pdb->{appinfo}{fieldLabels}{address}
    $pdb->{appinfo}{fieldLabels}{city}
    $pdb->{appinfo}{fieldLabels}{state}
    $pdb->{appinfo}{fieldLabels}{zipCode}
    $pdb->{appinfo}{fieldLabels}{country}
    $pdb->{appinfo}{fieldLabels}{title}
    $pdb->{appinfo}{fieldLabels}{custom1}
    $pdb->{appinfo}{fieldLabels}{custom2}
    $pdb->{appinfo}{fieldLabels}{custom3}
    $pdb->{appinfo}{fieldLabels}{custom4}
    $pdb->{appinfo}{fieldLabels}{note}

These are the names of the various fields in the address record.

    $pdb->{appinfo}{country}

An integer: the code for the country for which these labels were designed. The country name is available as

        $Palm::Address::countries[$pdb->{appinfo}{country}];
    $pdb->{appinfo}{misc}

An integer. The least-significant bit is a flag that indicates whether the database should be sorted by company. The other bits are reserved.

Sort block

    $pdb->{sort}

This is a scalar, the raw data of the sort block.

Records

    $record = $pdb->{records}[N];
    $record->{fields}{name}
    $record->{fields}{firstName}
    $record->{fields}{company}
    $record->{fields}{phone1}
    $record->{fields}{phone2}
    $record->{fields}{phone3}
    $record->{fields}{phone4}
    $record->{fields}{phone5}
    $record->{fields}{address}
    $record->{fields}{city}
    $record->{fields}{state}
    $record->{fields}{zipCode}
    $record->{fields}{country}
    $record->{fields}{title}
    $record->{fields}{custom1}
    $record->{fields}{custom2}
    $record->{fields}{custom3}
    $record->{fields}{custom4}
    $record->{fields}{note}

These are scalars, the values of the various address book fields.

    $record->{phoneLabel}{phone1}
    $record->{phoneLabel}{phone2}
    $record->{phoneLabel}{phone3}
    $record->{phoneLabel}{phone4}
    $record->{phoneLabel}{phone5}

Most fields in an AddressBook record are straightforward: the ``name'' field always gives the person's last name.

The "phoneN`` fields, on the other hand, can mean different things in different records. There are five such fields in each record, each of which can take on one of eight different values: ''Work``, ''Home``, ''Fax``, ''Other``, ''E-mail``, ''Main``, ''Pager`` and ''Mobile".

The $record->{phoneLabel}{phone*} fields are integers. Each one is an index into @Palm::Address::phoneLabels, and indicates which particular type of phone number each of the $record->{phone*} fields represents.

    $record->{phoneLabel}{display}

Like the phone* fields above, this is an index into @Palm::Address::phoneLabels. It indicates which of the phone* fields to display in the list view.

    $record->{phoneLabel}{reserved}

I don't know what this is.

METHODS

new

  $pdb = new Palm::Address;

Create a new PDB, initialized with the various Palm::Address fields and an empty record list.

Use this method if you're creating an Address PDB from scratch.

new_Record

  $record = $pdb->new_Record;

Creates a new Address record, with blank values for all of the fields. The AppInfo block will contain only an ``Unfiled'' category, with ID 0.

"new_Record" does not add the new record to $pdb. For that, you want "$pdb->append_Record".

SOURCE CONTROL

The source is in Github:

        http://github.com/briandfoy/p5-Palm/tree/master

AUTHOR

Alessandro Zummo, "<[email protected]>"

Currently maintained by brian d foy, "<[email protected]>"

BUGS

The new() method initializes the AppInfo block with English labels and ``United States'' as the country.