package WML::Deck; use strict; use vars qw($VERSION); use WML::Card; $VERSION = '0.01'; sub new{ my $pkg = shift; my @card = @_; my $self = bless { '_template' => undef, '_card' => undef, }, $pkg; push @{$self->{'_card'}}, @card; return $self; }; sub _contenttype{ my $self = shift; return "Content-type: text/vnd.wap.wml \n\n"; } sub cache{ my $self = shift; $self->{'cache'} = shift; } sub _cache{ my $self= shift; return if !defined $self->{'cache'}; return << "EOF"; EOF } sub _header{ my $self = shift; return << 'EOF' EOF } sub template{ my $self = shift; my ($type, $label , $href, $target) = @_; $self->{'_wml'} .= << "EOF"; EOF } sub _footer{ my $self = shift; return << 'EOF'; EOF } sub return_cgi{ my $self =shift; print $self->_contenttype; print $self->_header; print $self->_cache; print $self->{'_template'}; for (@{$self->{'_card'}}) { $_->print; } print $self->_footer; } =head1 NAME WML::Deck - Perl extension for builiding WML Decks. =head1 SYNOPSIS use WML::Card; use WML::Deck; my @cards; my $options= [ ['Option 1', 'http://...'], ['Option 2', 'http://...'], ]; my $c = WML::Card->guess('index','Wap Site'); $c->link_list('indice', undef, 0, $options, $options); push @cards, $c; # Build the deck my $wml = WML::Deck->new(@cards); $wml->return_cgi; =head1 DESCRIPTION This perl library simplifies the creation of WML decks on the fly. In combination with WML::Card it provides functionality to build WML code for cards and decks. =head2 Methods =over 4 =item $wml = WML::Deck->new(@cards); This class method constructs a new WML::Deck object. The first argument is an array of WML::Card objects. =item $wml->cache($n); This class methos specifies the max-age argument for Cache-Control =item $wml->return_cgi; This method prints wml code and HTTP headers for the deck. =head1 AUTHOR Mariana Alvaro mariana@alvaro.com.ar Copyright 2000 Mariana Alvaro. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO WML::Card =cut 1;