use warnings; use strict; package Data::ICal::Entry::Alarm::URI; use base qw/Data::ICal::Entry::Alarm/; =head1 NAME Data::ICal::Entry::Alarm::URI - Represents notification via a custom URI =head1 SYNOPSIS my $valarm = Data::ICal::Entry::Alarm::URI->new(); $valarm->add_properties( uri => "sms:+15105550101?body=hello%20there", # Dat*e*::ICal is not a typo here trigger => [ Date::ICal->new( epoch => ... )->ical, { value => 'DATE-TIME' } ], ); $vevent->add_entry($valarm); =head1 DESCRIPTION A L object represents an alarm that notifies via arbitrary URI which is attached to a todo item or event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of L and accepts all of its methods. This element is not included in the official iCal RFC, but is rather an unaccepted draft standard; see L B This is alarm type is primarily used by Apple. =head1 METHODS =cut =head2 new Creates a new L object; sets its C property to C. =cut sub new { my $class = shift; my $self = $class->SUPER::new(@_); $self->add_property( action => "URI" ); return $self; } =head2 mandatory_unique_properties In addition to C and C (see L), uri alarms must also specify a value for C. =cut sub mandatory_unique_properties { return ( shift->SUPER::mandatory_unique_properties, "uri", ); } =head1 AUTHOR Best Practical Solutions, LLC Emodules@bestpractical.comE =head1 LICENCE AND COPYRIGHT Copyright (c) 2005 - 2015, Best Practical Solutions, LLC. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L. =cut 1;