Net::ICal::Calendar -- Hold and manipulate events, todo items and journal entries. |
Net::ICal::Calendar -- Hold and manipulate events, todo items and journal entries.
use Net::ICal;
my $cal = new Net::ICal::Calendar( alarms => [ array of alarm objects ], events => [ array of event objects ], todos => [ array of todo objects ], journals => [ array of journal objects ], timezones => [ array of timezone objects ], );
# Has the calendar been modified since we last checked? if( ! ($cal->last_modified() > $our_last_mod_time)){ return; }
# Only deal with meeting requests from Larry foreach $message ($cal->messages() ){ if($message->method() eq 'REQUEST' && $message->type() eq 'VEVENT' && $message->organizer() eq 'mailto:larray@example.com'){
my @overlaps = $cal->overlap_search($message);
if($#overlaps){ # Reject or counterpropose the request my $new_time = $cal->next_free_time(Net::ICal::Time(time(0), $message->span()->duration(), $message->span()->priority())); } else { # Add it to the calendar $cal->book($message); } }
#Now check for any alarms in the next hour @alarms= $cal->alarms(new Net::ICal::Period(time(0),"1h"));
}
A Net::ICal::Calendar represents Calendar that can hold events, todo items, journal entries (and incoming messages?).
new()
Construct a new calendar, given sets of data to put in the calendar. See the example above.
Creates a new Net::ICal::Calendar from an ical stream. Use this to read in a new object before you do things with it. (Inherited from Net::ICal::Component; read its documentation if you're curious.)
None of the following methods should be relied on by anything outside this module. Use at your own risk.
Sets up a Class::MethodMapper map to describe the data in this class, then initialize the object. Takes a classname and a hash of arguments, returns a Net::ICal::Calendar. See the Class::MethodMapper docs if you want to understand what this does slightly better.
More documentation pointers can be found in the Net::ICal manpage.
Net::ICal::Calendar -- Hold and manipulate events, todo items and journal entries. |