The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

InfoSys::FreeDB::Connection - FreeDB abstract connection

SYNOPSIS

None. This is an abstract class.

ABSTRACT

FreeDB abstract connection

DESCRIPTION

InfoSys::FreeDB::Connection is the abstract connection class of the InfoSys::FreeDB module hierarchy.

EXPORT

By default nothing is exported.

line_parse

This tag contains variables useful to parse the messages from FreeDB servers.

$FINAL_DOT_RX

Regular expression to parse the end of message dot.

$FINAL_EOL_RX

Regular expression to parse the end of line.

CONSTRUCTOR

new(OPT_HASH_REF)

Creates a new InfoSys::FreeDB::Connection object. OPT_HASH_REF is a hash reference used to pass initialization options. OPT_HASH_REF is mandatory. On error an exception Error::Simple is thrown.

Options for OPT_HASH_REF may include:

client_host

Passed to set_client_host(). Mandatory option.

client_name

Passed to set_client_name(). Mandatory option.

client_user

Passed to set_client_user(). Mandatory option.

client_version

Passed to set_client_version(). Mandatory option.

freedb_host

Passed to set_freedb_host(). Mandatory option.

freedb_port

Passed to set_freedb_port(). Mandatory option.

proto_level

Passed to set_proto_level(). Defaults to 1.

proxy_host

Passed to set_proxy_host().

proxy_passwd

Passed to set_proxy_passwd().

proxy_port

Passed to set_proxy_port(). Defaults to 8080.

proxy_user

Passed to set_proxy_user().

METHODS

connect()

This is an interface method. Connects the object to the FreeDB information service using the object's attributes. A hello commend is sent out, the protocol level is queried and set to the highest level available. On error an exception Error::Simple is thrown.

discid(ENTRY)

Issues a discid command on the FreeDB database. ENTRY is a InfoSys::FreeDB::Entry object. On error an exception Error::Simple is thrown.

disconnect()

Disconnects the object from the FreeDB information service.

get_client_host()

Returns the connecting client host.

get_client_name()

Returns the connecting client name.

get_client_user()

Returns the connecting client user.

get_client_version()

Returns the connecting client version.

get_freedb_host()

Returns the FreeDB host.

get_freedb_port()

Returns the FreeDB port.

get_proto_level()

Returns the current protocol level.

get_proxy_host()

Returns the proxy host to use.

get_proxy_passwd()

Returns the proxy password to use.

get_proxy_port()

Returns the proxy port to use.

get_proxy_user()

Returns the proxy user name to use.

log()

This is an interface method. Issues a log command on the FreeDB database. TO BE SPECIFIED

lscat()

Issues an lscat command on the FreeDB database. Returns a InfoSys::FreeDB::Response::LsCat object. On error an exception Error::Simple is thrown.

motd()

Issues an motd command on the FreeDB database. Returns InfoSys::FreeDB::Response::Motd object. On error an exception Error::Simple is thrown.

proto([ LEVEL ])

This is an interface method. Issues a proto command on the FreeDB database. If LEVEL is not specified, the protocol level is queried. If LEVEL is specified it is used to set the protocol level. Returns InfoSys::FreeDB::Response::Proto object. On error an exception Error::Simple is thrown.

query(ENTRY)

Queries the FreeDB database. ENTRY is a InfoSys::FreeDB::Entry object. Returns a InfoSys::FreeDB::Response::Query object. On error an exception Error::Simple is thrown.

quit()

This is an interface method. Issues a quit command on the FreeDB database and disconnects. Returns InfoSys::FreeDB::Response::Quit object. On error an exception Error::Simple is thrown.

read(MATCH)

Reads an entry from the FreeDB database. MATCH is a InfoSys::FreeDB::Match object. Returns a InfoSys::FreeDB::Response::Match object. On error an exception Error::Simple is thrown.

set_client_host(VALUE)

Set the connecting client host. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_client_name(VALUE)

Set the connecting client name. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_client_user(VALUE)

Set the connecting client user. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_client_version(VALUE)

Set the connecting client version. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_freedb_host(VALUE)

Set the FreeDB host. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_freedb_port(VALUE)

Set the FreeDB port. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

set_proto_level(VALUE)

Set the current protocol level. VALUE is the value. Default value at initialization is 1. On error an exception Error::Simple is thrown.

set_proxy_host(VALUE)

Set the proxy host to use. VALUE is the value. On error an exception Error::Simple is thrown.

set_proxy_passwd(VALUE)

Set the proxy password to use. VALUE is the value. On error an exception Error::Simple is thrown.

set_proxy_port(VALUE)

Set the proxy port to use. VALUE is the value. Default value at initialization is 8080. On error an exception Error::Simple is thrown.

set_proxy_user(VALUE)

Set the proxy user name to use. VALUE is the value. On error an exception Error::Simple is thrown.

sites()

Issues a sites command on the FreeDB database. Returns a InfoSys::FreeDB::Response::Sites object. On error an exception Error::Simple is thrown.

stat()

Issues a stat command on the FreeDB database. Returns a InfoSys::FreeDB::Response::Stat object. On error an exception Error::Simple is thrown.

update()

This is an interface method. Issues a update command on the FreeDB database. TO BE SPECIFIED

ver()

Issues a ver command on the FreeDB database. Returns a InfoSys::FreeDB::Response::Ver object. On error an exception Error::Simple is thrown.

whom()

Issues a whom command on the FreeDB database. Returns a InfoSys::FreeDB::Response::Whom object. On error an exception Error::Simple is thrown.

write(ENTRY, CATEGORY)

This is an interface method. Writes an entry to the FreeDB database. ENTRY is a InfoSys::FreeDB::Entry object. CATEGORY is a valid FreeDB category. Returns a InfoSys::FreeDB::Response::Write::1 object in the case an error occurred in the first pass of the writing. Otherwise a InfoSys::FreeDB::Response::Write::2 object is returned. On error an exception Error::Simple is thrown.

SEE ALSO

InfoSys::FreeDB, InfoSys::FreeDB::Connection::CDDBP, InfoSys::FreeDB::Connection::HTTP, InfoSys::FreeDB::Entry, InfoSys::FreeDB::Entry::Track, InfoSys::FreeDB::Match, InfoSys::FreeDB::Response, InfoSys::FreeDB::Response::DiscId, InfoSys::FreeDB::Response::Hello, InfoSys::FreeDB::Response::LsCat, InfoSys::FreeDB::Response::Motd, InfoSys::FreeDB::Response::Proto, InfoSys::FreeDB::Response::Query, InfoSys::FreeDB::Response::Quit, InfoSys::FreeDB::Response::Read, InfoSys::FreeDB::Response::SignOn, InfoSys::FreeDB::Response::Sites, InfoSys::FreeDB::Response::Stat, InfoSys::FreeDB::Response::Ver, InfoSys::FreeDB::Response::Whom, InfoSys::FreeDB::Response::Write::1, InfoSys::FreeDB::Response::Write::2, InfoSys::FreeDB::Site

BUGS

None known (yet.)

HISTORY

First development: September 2003 Last update: December 2003

AUTHOR

Vincenzo Zocca

COPYRIGHT

Copyright 2003 by Vincenzo Zocca

LICENSE

This file is part of the InfoSys::FreeDB module hierarchy for Perl by Vincenzo Zocca.

The InfoSys::FreeDB module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The InfoSys::FreeDB module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the InfoSys::FreeDB module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA