TV::Anytime::Service - Represent a television or radio service


TV-Anytime documentation Contained in the TV-Anytime distribution.

Index


Code Index:

NAME

Top

TV::Anytime::Service - Represent a television or radio service

SYNOPSIS

Top

  print "Name is "  . $service->name . "\n";
  print "Owner is " . $service->owner . "\n";
  print "Logo is "  . $service->logo . "\n";
  print "Is tv\n" if $service->is_television;
  print "Is radio\n" if $service->is_radio;
  my @genres = $service->genres;

  my @programs = $service->programs;
  my @events   = $service->events;

DESCRIPTION

Top

The TV::Anytime::Service represents a television or radio

METHODS

Top

events

This returns a list of TV::Anytime::Event objects which represent transmissions on the service:

  my @events   = $service->events;

genres

This returns a list of TV::Anytime::Genre objects which apply to the service:

  my @genres = $service->genres;

is_radio

This returns if the service is a radio station:

  print "Is radio\n" if $service->is_radio;

is_television

This returns if the service is a television station:

  print "Is tv\n" if $service->is_television;

This returns a URL to a logo for the service:

  print "Logo is "  . $service->logo . "\n";

name

This returns the name of the service:

  print "Name is "  . $service->name . "\n";

owner

This returns the owner of the service:

  print "Owner is " . $service->owner . "\n";

programs

This returns a list of TV::Anytime::Program objects which represent the various programs on the service:

  my @programs = $service->programs;

SEE ALSO

Top

TV::Anytime, TV::Anytime::Event, TV::Anytime::Genre, TV::Anytime::Service

BUGS

Top

Please report any bugs or feature requests to bug-TV-Anytime@rt.cpan.org, or through the web interface at http://rt.cpan.org.

AUTHOR

Top

Leon Brocard acme@astray.com

LICENCE AND COPYRIGHT

Top


TV-Anytime documentation Contained in the TV-Anytime distribution.

package TV::Anytime::Service;
use strict;
use warnings;
use base 'Class::Accessor::Chained::Fast';
__PACKAGE__->mk_accessors(qw(
anytime
genres_ref
id
logo
name
owner
));

sub events {
  my $self = shift;
  my($programs, $events) = $self->anytime->_programs($self->id);
  return @$events;
}

sub genres {
  my $self = shift;
  return @{$self->genres_ref};
}

sub is_television {
  my $self = shift;
  foreach my $genre ($self->genres) {
    if ($genre->name eq 'MediaType') {
      return $genre->value eq 'Audio and video';
    }
  }
  return 0;
}

sub is_radio {
  my $self = shift;
  foreach my $genre ($self->genres) {
    if ($genre->name eq 'MediaType') {
      return $genre->value eq 'Audio only';
    }
  }
  return 0;
}

sub programs {
  my $self = shift;
  my($programs, $events) = $self->anytime->_programs($self->id);
  return @$programs;
}

1;

__END__