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 exceptionError::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 exceptionError::Simple
is thrown. - discid(ENTRY)
-
Issues a
discid
command on the FreeDB database.ENTRY
is aInfoSys::FreeDB::Entry
object. On error an exceptionError::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 aInfoSys::FreeDB::Response::LsCat
object. On error an exceptionError::Simple
is thrown. - motd()
-
Issues an
motd
command on the FreeDB database. ReturnsInfoSys::FreeDB::Response::Motd
object. On error an exceptionError::Simple
is thrown. - proto([ LEVEL ])
-
This is an interface method. Issues a
proto
command on the FreeDB database. IfLEVEL
is not specified, the protocol level is queried. IfLEVEL
is specified it is used to set the protocol level. ReturnsInfoSys::FreeDB::Response::Proto
object. On error an exceptionError::Simple
is thrown. - query(ENTRY)
-
Queries the FreeDB database.
ENTRY
is aInfoSys::FreeDB::Entry
object. Returns aInfoSys::FreeDB::Response::Query
object. On error an exceptionError::Simple
is thrown. - quit()
-
This is an interface method. Issues a
quit
command on the FreeDB database and disconnects. ReturnsInfoSys::FreeDB::Response::Quit
object. On error an exceptionError::Simple
is thrown. - read(MATCH)
-
Reads an entry from the FreeDB database.
MATCH
is aInfoSys::FreeDB::Match
object. Returns aInfoSys::FreeDB::Response::Match
object. On error an exceptionError::Simple
is thrown. - set_client_host(VALUE)
-
Set the connecting client host.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_name(VALUE)
-
Set the connecting client name.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_user(VALUE)
-
Set the connecting client user.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_version(VALUE)
-
Set the connecting client version.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_freedb_host(VALUE)
-
Set the FreeDB host.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_freedb_port(VALUE)
-
Set the FreeDB port.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_proto_level(VALUE)
-
Set the current protocol level.
VALUE
is the value. Default value at initialization is1
. On error an exceptionError::Simple
is thrown. - set_proxy_host(VALUE)
-
Set the proxy host to use.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_proxy_passwd(VALUE)
-
Set the proxy password to use.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_proxy_port(VALUE)
-
Set the proxy port to use.
VALUE
is the value. Default value at initialization is8080
. On error an exceptionError::Simple
is thrown. - set_proxy_user(VALUE)
-
Set the proxy user name to use.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - sites()
-
Issues a
sites
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Sites
object. On error an exceptionError::Simple
is thrown. - stat()
-
Issues a
stat
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Stat
object. On error an exceptionError::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 aInfoSys::FreeDB::Response::Ver
object. On error an exceptionError::Simple
is thrown. - whom()
-
Issues a
whom
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Whom
object. On error an exceptionError::Simple
is thrown. - write(ENTRY, CATEGORY)
-
This is an interface method. Writes an entry to the FreeDB database.
ENTRY
is aInfoSys::FreeDB::Entry
object.CATEGORY
is a valid FreeDB category. Returns aInfoSys::FreeDB::Response::Write::1
object in the case an error occurred in the first pass of the writing. Otherwise aInfoSys::FreeDB::Response::Write::2
object is returned. On error an exceptionError::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