#!/usr/bin/perl
# -*- Mode: perl -*-
#======================================================================
# FILE: Value.pm
# CREATOR: eric 16 August 1999
#
# DESCRIPTION:
#
#
# $Id: Value.pm,v 1.6 2000/05/24 04:41:32 eric Exp $
# $Locker: $
#
# (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
#
# This package is free software and is provided "as is" without express
# or implied warranty. It may be used, redistributed and/or modified
# under the same terms as perl itself. ( Either the Artistic License or the
# GPL. )
#
# The Original Code is Value.pm. The Initial Developer of the Original
# Code is Eric Busboom
#
#======================================================================
package Net::ICal::Value;
use Net::ICal;
sub new_from_ref{
my $self = [];
my $value_ref = shift;
$self->[0] = $value_ref;
return undef if !$value_ref;
my $value_type = Net::ICal::icalvalue_isa($value_ref);
my $type_name = Net::ICal::icalenum_value_kind_to_string($value_type);
my $ucf = join("",map {ucfirst(lc($_));} split(/-/,$type_name));
my $package = "Net::ICal::Value::".$ucf;
return bless $self, $package;
}
sub _impl{
return $_[0]->[0];
}
sub new_clone{
my $self = [];
my $package = shift;
my $orig = shift;
my $p = Net::ICal::icalvalue_new_clone($orig->[0]);
$self->[0] = $p;
return bless $self, $package;
}
sub as_ical_string{
my $self= shift;
my $str = Net::ICal::icalvalue_as_ical_string($self->[0]);
}
sub isa{
}
package Net::ICal::Value::Duration;
use Net::ICal;
use Time::Local;
@ISA=qw(Net::ICal::Value);
sub as_seconds {
my $self = shift;
my $impl = $self->_impl();
my $dur = Net::ICal::icalvalue_get_duration($impl);
my($days,$weeks,$hours,$minutes,$seconds) =
(Net::ICal::icaldurationtype_days_get($dur),
Net::ICal::icaldurationtype_weeks_get($dur),
Net::ICal::icaldurationtype_hours_get($dur),
Net::ICal::icaldurationtype_minutes_get($dur),
Net::ICal::icaldurationtype_seconds_get($dur),
);
my $s = $seconds +
$minutes*60 +
$hours * 60 * 60 +
$days * 60 * 60 * 24 +
$weeks * 60 * 60 * 24 * 7;
return $s;
}
package Net::ICal::Value::DateTime;
use Net::ICal;
use Time::Local;
@ISA=qw(Net::ICal::Value);
sub isutc {
my $self = shift;
my $impl = $self->_impl();
my $tt = Net::ICal::icalvalue_get_datetime($impl);
return Net::ICal::icaltimetype_is_utc_get($tt);
}
sub split_time
{
my $self = shift;
my $impl = $self->_impl();
my $tt = Net::ICal::icalvalue_get_datetime($impl);
my ($year,$month,$day,$hour,$minute,$second,$isutc,$isdate) =
(Net::ICal::icaltimetype_year_get($tt),
Net::ICal::icaltimetype_month_get($tt),
Net::ICal::icaltimetype_day_get($tt),
Net::ICal::icaltimetype_hour_get($tt),
Net::ICal::icaltimetype_minute_get($tt),
Net::ICal::icaltimetype_second_get($tt),
Net::ICal::icaltimetype_is_utc_get($tt),
Net::ICal::icaltimetype_is_date_get($tt));
my ($usec,$umin,$uhour,$umday,$umon,$uyear,$uwday,$uyday,$uisdst);
if($isutc) {
($usec,$umin,$uhour,$umday,$umon,$uyear,$uwday,$uyday,$uisdst)
= gmtime(timegm($second,$minute,$hour,$day,$month-1,$year-1900,
undef,undef,undef));
} else {
($usec,$umin,$uhour,$umday,$umon,$uyear,$uwday,$uyday,$uisdst)
= localtime(timelocal($second,$minute,$hour,$day,$month-1,$year-1900,
undef,undef,undef));
}
return ($usec,$umin,$uhour,$umday,$umon+1,$uyear,$uwday,$uyday,$uisdst);
}
sub new_from_localtime
{
my $time = shift;
return new_from_split(localtime($time),0);
}
sub new_from_split
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst,$isutc) = @_;
my $fmt;
if($isutc){
$fmt = "%04s%02s%02sT%02s%02s%02sZ";
} else {
$fmt = "%04s%02s%02sT%02s%02s%02s";
}
return new Net::ICal::Value::DateTime(sprintf($fmt,$year+1900,$mon+1,$mday,$hour,$min,$sec));
}
package Net::ICal::Value::Date;
use Net::ICal;
use Time::Local;
@ISA=qw(Net::ICal::Value);
sub isutc {
return 0;
}
sub split_time
{
my $self = shift;
my $impl = $self->_impl();
my $tt = Net::ICal::icalvalue_get_datetime($impl);
my ($year,$month,$day,$hour,$minute,$second,$isutc,$isdate) =
(Net::ICal::icaltimetype_year_get($tt),
Net::ICal::icaltimetype_month_get($tt),
Net::ICal::icaltimetype_day_get($tt),
0,
0,
0,
0,
Net::ICal::icaltimetype_is_date_get($tt));
my($usec,$umin,$uhour,$umday,$umon,$uyear,$uwday,$uyday,$uisdst)
= localtime(timelocal($second,$minute,$hour,$day,$month-1,$year-1900,
undef,undef,undef));
return (0,0,0,$umday,$umon+1,$uyear,$uwday,$uyday,0);
}
sub new_from_localtime
{
my $time = shift;
return new_from_split(localtime($time),0);
}
sub new_from_split
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst,$isutc) = @_;
my $fmt;
if($isutc){
$fmt = "%04s%02s%02s";
} else {
$fmt = "%04s%02s%02s";
}
return new Net::ICal::Value::Date(sprintf($fmt,$year+1900,$mon+1,$mday));
}
# Everything below this line is machine generated. Do not edit.
package Net::ICal::Value::Attach;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_ATTACH_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_ATTACH_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_ATTACH_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Binary;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_BINARY_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_BINARY_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_BINARY_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Boolean;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_BOOLEAN_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_BOOLEAN_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_BOOLEAN_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::CalAddress;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_CALADDRESS_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_CALADDRESS_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_CALADDRESS_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Date;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATE_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_DATE_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATE_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::DateTime;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIME_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_DATETIME_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIME_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::DateTimeDate;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIMEDATE_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_DATETIMEDATE_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIMEDATE_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::DateTimePeriod;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIMEPERIOD_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_DATETIMEPERIOD_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DATETIMEPERIOD_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Duration;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DURATION_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_DURATION_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_DURATION_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Float;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_FLOAT_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_FLOAT_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_FLOAT_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Geo;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_GEO_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_GEO_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_GEO_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Integer;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_INTEGER_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_INTEGER_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_INTEGER_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Method;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_METHOD_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_METHOD_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_METHOD_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Period;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_PERIOD_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_PERIOD_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_PERIOD_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Recur;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_RECUR_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_RECUR_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_RECUR_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::String;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_STRING_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_STRING_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_STRING_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Text;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TEXT_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_TEXT_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TEXT_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Time;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TIME_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_TIME_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TIME_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Trigger;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TRIGGER_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_TRIGGER_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_TRIGGER_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Uri;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_URI_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_URI_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_URI_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::UtcOffset;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_UTCOFFSET_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_UTCOFFSET_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_UTCOFFSET_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
package Net::ICal::Value::Query;
use Net::ICal::Value;
@ISA=qw(Net::ICal::Value);
sub new
{
my $self = [];
my $package = shift;
my $value = shift;
bless $self, $package;
my $p;
if ($value){
$p = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_QUERY_VALUE,$value);
} else {
$p = Net::ICal::icalvalue_new($Net::ICal::ICAL_QUERY_VALUE);
}
$self->[0] = $p;
return $self;
}
sub set
{
my $self = shift;
my $v = shift;
my $impl = $self->_impl();
if ($v) {
my $new_value = Net::ICal::icalvalue_new_from_string($Net::ICal::ICAL_QUERY_VALUE,$v);
if ($new_value){
Net::ICal::icalvalue_free($self->[0]);
$self->[0] = $new_value;
}
}
}
sub get
{
my $self = shift;
my $impl = $self->[0];
if (defined $impl){
return Net::ICal::icalvalue_as_ical_string($impl);
}
}
1;