NAME

Net::FreeDB2::Connection::CDDBP - FreeDB/CDDB concrete connection class using the CDDBP protocol

SYNOPSIS

See Net::FreeDB2.

DESCRIPTION

Net::FreeDB2::Connection::CDDBP is an implementation of the abstract FreeDB/CDDB connection class. It uses the CDDBP protocol to connect to FreeDB/CDDB servers.

CONSTRUCTOR

new (OPT_HASH_REF)

Implementation of Net::FreeDB2::Connection::new.

Restriction: proxy_host may not be specified as CDDBP access through proxy is not (yet) implemented.

Throws a Error::Simple exception if a mandatory option is missing and passes exceptions from connect ().

METHODS

connect ()

Implementation of Net::FreeDB2::Connection::connect. Stores a signo on response using setSignOnResponse ().

lscat ()

Implementation of Net::FreeDB2::Connection::lscat.

query (ENTRY)

Implementation of Net::FreeDB2::Connection::query.

read (MATCH)

Implementation of Net::FreeDB2::Connection::read.

write (ENTITY)

Implementation of Net::FreeDB2::Connection::write.

log ()

Implementation of Net::FreeDB2::Connection::log.

motd ()

Implementation of Net::FreeDB2::Connection::motd.

discid (ENTRY)

Implementation of Net::FreeDB2::Connection::discid.

proto ()

Implementation of Net::FreeDB2::Connection::proto.

sites ()

Implementation of Net::FreeDB2::Connection::sites.

stat ()

Implementation of Net::FreeDB2::Connection::stat.

ver ()

Implementation of Net::FreeDB2::Connection::ver.

update ()

Implementation of Net::FreeDB2::Connection::update.

whom ()

Implementation of Net::FreeDB2::Connection::whom.

setSignOnResponse (VALUE)

Set the FreeDB/CDDB sign-on response. VALUE is the value.

getSignOnResponse ()

Returns the FreeDB/CDDB sign-on response.

setProxyHost (VALUE)

Implementation of Net::FreeDB2::Connection::setProxyHost. Throws an exception because proxy_host may not be specified as CDDBP access through proxy is not (yet) implemented.

hello ()

PRIVATE METHOD. Sends the hello to FreeDB/CDDB server.

quit ()

PRIVATE METHOD. Sends the quit to FreeDB/CDDB server.

waitCommandReply (CMD, CODE_RX)

PRIVATE METHOD. Executes command in CMD and waits for a reply. CODE_RX specifies 1) the allowed FreeDB/CDDB codes and 2) the regular expression that determins the termination of the returned output.

mkHello ()

PRIVATE METHOD. Makes the a FreeDB/CDDB CDDBP hello string.

EXCEPTIONS

FreeDB/CDDB command methods lscat (), query (), read (), write (), log (), motd (), discid (), proto (), sites (), stat (), ver (), update () and whom () throw an Error::Simple exception in cases of connection errors and unexpected situations in the data format.

SEE ALSO

Net::FreeDB2::Entry, Net::FreeDB2::Match, Net::FreeDB2::Response, Net::FreeDB2::Response::Query and Net::FreeDB2::Response::Read

BUGS

Not all FreeDB/CDDB commands are implemented (yet).

HISTORY

First development: September 2002

AUTHOR

Vincenzo Zocca <Vincenzo@Zocca.com>

COPYRIGHT

Copyright 2002, Vincenzo Zocca.

LICENSE

This file is part of the Net::FreeDB2 module hierarchy for Perl by Vincenzo Zocca.

The Net::FreeDB2 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 Net::FreeDB2 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 Net::FreeDB2 module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA