NAME

Net::Google::Calendar::Server - pretend to be like Google's Calendar

SYNOPSIS

# in reality this will be something like the Apache handler
my $handler  = Net::Google::Calendar::Server::Handler::Foo->new; 

# $be_class might be ICalendar and $au_class might be Dummy
my $cal = eval { 
    Net::Google::Calendar::Server->new( backend_class => $be_class, backend_opts => \%backend_opts,
                                        auth_class    => $au_class, auth_opts    => \%auth_opts     ) 
};

return $self->error($@) if $@;
return $cal->handle_request($handle);

DESCRIPTION

This is an implementation of the Calendar portion of Google's GData API.

http://code.google.com/apis/gdata/protocol.html

It's very incomplete but it's been lurking round in my Subversion repo for too long (nearly a year now) so it deserves to be free. Free! FREE! Emancipia!

A server requires a handler to call it (something like CGI or an Apache handler or a standalone server).

A server also requires a backend class (something that will retrieve and store entries) and an auth class (something that will authentic the user) which can be the same as the backend class.

METHODS

new [ opts ]

Create a new server. Requires at least the options

backend_class

A class that will retrieve and store entries.

Must be a subclass of a Net::Google::Calendar::Server::Backend so for example to use Net::Google::Calendar::Server::Backend::ICalendar pass in 'ICalendar'.

backend_opts

Options for the backend class.

auth_class

A class that will authenticate a user. Can be the same as the backend class i.e if you passed in 'ICalendar' for backend_class and auth_class then the Net::Google::Calendar::Server::Backend::ICalendar object instantiated for the backend will be used for the auth class.

auth_opts

Options for the authentication class.

auth

The authentication object.

The backend object.

fetch [ opts ]

Get an event or events.

Returns an Atom feed.

create

Takes an Atom entry, creates an entry, returns the updated Atom entry.

update

Takes an Atom entry, updates the entry, returns the updated Atom entry.

deletes

Takes an Atom entry, deletes an event, returns undef on failure.

handle_request <handler>

Requires a subclass of Net::Google::Calendar::Server::Handler.

SEE ALSO

Net::Google::Calendar

Net::Google::Calendar::Server::Backend

The Lucene implementation of the GData server. http://wiki.apache.org/lucene-java/GdataServer

SUBVERSION

https://svn.unixbeard.net/simon/Net-Google-Calendar-Server/

AUTHOR

Simon Wistow <simon@thegestalt.org>

COPYRIGHT

Copyright 2006, 2007 - Simon Wistow

1 POD Error

The following errors were encountered while parsing the POD:

Around line 139:

Unknown directive: =head