NAME

Net::OBEX::Packet::Request::Connect - create OBEX protocol Connect request packets.

SYNOPSIS

use Net::OBEX::Packet::Request::Connect;

my $conn = Net::OBEX::Packet::Request::Connect->new(
    headers => [ $bunch, $of, $raw, $headers ],
);

my $connect_packet = $conn->make;

$conn->headers([]); # reset headers.

my $connect_packet2 = $conn->make;

DESCRIPTION

WARNING!!! This module is in an early alpha stage. It is recommended that you use it only for testing.

The module provides means to create OBEX protocol Connect (0x80) packets. It is used internally by Net::OBEX::Packet::Request module and you probably want to use that instead.

CONSTRUCTOR

new

my $conn = Net::OBEX::Packet::Request::Connect->new;

my $conn2 = Net::OBEX::Packet::Request::Connect->new(
    mtu       => 4096,
    version   => "\x10",
    flags     => "\x00",
    headers   => [ $bunch, $of, $raw, $headers ],
);

Returns a brand new Net::OBEX::Packet::Request::Connect object, takes several arguments, all of which are optional. Possible arguments are as follows:

headers

my $conn2 = Net::OBEX::Packet::Request::Connect->new(
    headers   => [ $bunch, $of, $raw, $headers ],
);

Optional. Takes an arrayref as a value elements of which are raw OBEX packet headers. See Net::OBEX::Packet::Headers if you want to create those. Defaults to: [] (no headers)

mtu

my $conn2 = Net::OBEX::Packet::Request::Connect->new( mtu => 4096 );

Optional Specifies the MTU (Maximum Transmission Unit), or in other words, the largest packet the device can accept. Defaults to: 4096

version

my $conn2 = Net::OBEX::Packet::Request::Connect->new(
    version => "\x10",
);

Optional. Takes a byte representing the OBEX protocol version used in the conversation encoded with the major number in the high order 4 bits, and the minor version in the low order 4 bits. Defaults to: "\x10" (version 1.0) and you probably don't want to change that right now.

flags

my $conn2 = Net::OBEX::Packet::Request::Connect->new(
    flags => "\x00",
);

Optional. Takes a byte representing the connect packet "flags". Currently the all bits of the request packet flags are reserved and must be set to zero, therefore you shouldn't be using this one. Defaults to: "\x00" (all bits set to zero)

METHODS

make

my $raw_packet = $conn->make;

Takes no arguments, returns a raw OBEX Connect packet ready to go down the wire.

ACCESSORS/MUTATORS

headers

my $old_headers_ref = $conn->headers;

$conn->headers( [ $bunch, $of, $raw, $headers ] );

Takes an arrayref as a value elements of which are raw OBEX packet headers. See Net::OBEX::Packet::Headers if you want to create those. If you want your packet to have no headers specify an emtpy arrayref ([]) as an argument. Returns an arrayref of currently set headers.

raw

my $raw_packet = $conn->raw;

Must be called after a call to make() (see above). Takes no arguments. Returns the raw packet which was made with last make() (i.e. the return value of last make()).

mtu

my $old_mtu = $conn->mtu;

$conn->mtu(1024);

Returns a currently set MTU, the maximum length of a packet the device can accept. Takes one argument which is the MTU in bytes.

version

my $old_version = $conn->version;

$conn->version( "\x10" );

Returns a byte representing the currently set OBEX protocol version. Takes one optional argument which is the byte representing the OBEX protocol version to use encoded with the major number in the high order 4 bits, and the minor version in the low order 4 bits. You probably don't want to play with this.

flags

my $old_flags = $conn->flags;

$conn->flags("\x00");

Returns a byte representing the currently set Connect packet "flags". Takes one optional argument which is the byte representing Connect pack "flags" to use. In the request Connect packet all bits of "flags" byte are reserved, thus you probably don't want to play with this.

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-request at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-OBEX-Packet-Request. 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::Request

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.