NAME

Nokia::File::NFB::Element - storage for a NFB file element.

SYNOPSIS

use Nokia::File::NFB::Element;

## create an object.
my $element = Nokia::File::NFB::Element({
	'name'	=> $filename,
	'type'	=> $filetype,
	'time'	=> $timestamp,
	'data'	=> $rawdata,
});

## pretty print it.
print $element->pretty_print(), "\n";

## check if the filename is /CALENDAR
if ($element->name() eq '/CALENDAR') {

	## chang the filename.
	$element->name('/CALENDAR2');
}

## put the binary representation of the data into a filehandle.
print FH $element->binary();

DESCRIPTION

This module is used to store file elements from a Nokia NFB file.

It is mainly used internally from Nokia::File::NFB, but can be used to create or modify data to be included in an NFB file.

METHODS

new()

Creates a new Nokia::File::NFB::Element object.

my nfb = Nokia::File::NFB::Element->new({
	'type'		=> $filetype,
	'name'		=> $filename,
	'timestamp'	=> $timestamp,
	'data'		=> $data,
});

All the elements are optional at creation stage and can be added at later.

type - This is the type of file. It can be either '1' to represent a FILE, or '2' to represent a directory.

name - The name of the file or directory this element represents.

timestamp - The timestamp of the file. If none is given it takes the current time from the system clock.

data - The raw data contained in the element.

type()

Get or set the filetype of the element.

## make the element a FILE.
$nfb->type(1);	

## show the element's file type.
print "The file type is: " . $nfb->type();

The value passed in can only be '1' to represent a file, or '2' to represent a directory.

name()

Get or set the filename of the element.

## set the filename to be \Calendar.
$nfb->type('\\Calendar');	

## show the element's file name.
print "The file name is: " . $nfb->name();

timestamp()

Get or set the timestamp of the element.

## set the timestamp to be the current time.
$nfb->timestamp(time());	

## show the element's timestamp.
print "The timestamp is: " . $nfb->timestamp();

data()

Get or set the data of the element.

## set the data.
$nfb->data($testdata);	

## get the element's data.
my $testdata = $nfb->data();

size()

Get the size of the data part of the element.

## get the size of the data.
my $datasize = $nfb->size();

binary()

Return the element in binary format. This is suitable for the Nokia::File::NFB::Element to use directly.

## return the element in binary format.
my $element = $nfb->binary();

pretty_print()

Return a string with the elements (except the raw data) in a format suitable for debugging.

## print the element.
print $nfb->pretty_print();

SEE ALSO

Nokia::File::NFB

Nokia PC Suite - http://www.nokia.com/

AUTHOR

Robert Price, <rprice@cpan.org>

http://www.robertprice.co.uk/

COPYRIGHT AND LICENSE

Copyright (C) 2004 by Robert Price

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.