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".
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.