NAME

Net::OBEX::Packet::Headers::ByteSeq - construct "byte sequence" OBEX headers.

SYNOPSIS

use strict;
use warnings;

use Net::OBEX::Packet::Headers::ByteSeq;

my $raw = Net::OBEX::Packet::Headers::ByteSeq->new(
    target  => pack 'H*', 'F9EC7BC4953C11D2984E525400DC9E09'
)->make;

DESCRIPTION

WARNING!!! This module is still in alpha stage. Use it for test purposes only as interface might change in the future.

The module provides means to create OBEX protocol 0x40 (byte sequence, length prefixed with 2 byte unsigned integer) packet headers. Unless you are making a custom header you probably want to use Net::OBEX::Packet::Headers instead.

CONSTRUCTOR

new

# OBEX FTP "Target" header
my $header
= Net::OBEX::Packet::Headers::ByteSeq->new(
    target  => pack 'H*', 'F9EC7BC4953C11D2984E525400DC9E09'
);

# Custom header with HI of 0x41
my $header
= Net::OBEX::Packet::Headers::ByteSeq->new( "\x41" => 'foos' );

Constructs and returns a Net::OBEX::Packet::Headers::Byte obect. Two arguments: first is the byte of the HI identifier of the header and second argument is the 1 byte value of the header. Note: instead of the HI identifier byte you may use one of the names of standard OBEX headers. The possible names you can use are as follows:

type

The Type header (type of object - e.g. text, html, binary, manufacturer specific)

time

The Time header (date/time stamp - ISO 8601 version - preferred)

target

The Target header (name of the service that operation is targeted to)

http

The HTTP header (an HTTP 1.x header)

body

The Body header (a chunk of the object body)

end_of_body

The End of Body header (the final chunk of the object body)

who

The Who header (identifies the OBEX application, used to tell if talking to a peer)

app_params

The App. Parameters header (extended application request and response information)

auth_challenge

The Auth. Challenge header (authentication digest-challenge)

auth_response

The Auth. Response header (authentication digest-response)

object_class

The Object Class header (OBEX Object class of object)

METHODS

make

my $raw_header = $header->make;

Takes no arguments, returns a raw data of the header suitable to go down the wire.

my $raw_header = $header->header;

Must be called after a call to make(). Takes no arguments, return value is the return of make(), the only difference is that data has been "made" already.

value

my $old_value = $header->value;

$header->value( $new_value );

Returns the currently set header value (see new() method). If called with an optional argument will set the header value to the value of the argument, and the following calls to make() will produce headers with this new value.

hi

my $old_hi = $header->hi;

$header->hi( "\x41" );

Returns the currently set header HI identifier. If called with an optional argument will set the header HI identifier to the value of the argument, and the following calls to make() will produce headers with this new HI.

AUTHOR

Zoffix Znet, <zoffix at cpan.org> (http://zoffix.com, http://haslayout.net)

BUGS

Please report any bugs or feature requests to bug-net-obex-packet-headers at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-OBEX-Packet-Headers. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::OBEX::Packet::Headers::ByteSeq

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2008 Zoffix Znet, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.