Not fully documented yet.
Classes
Class | Description | |
---|---|---|
Alarm |
A class that represents an RFC 2445 VALARM component.
FIXME: move GetOccurrences() logic into an AlarmEvaluator.
| |
AssociatedCalendarParameterList |
This class provides a parameter list via the associated container.
Examples
For example, let's say an event has several properties:
BEGIN:VEVENT
SUMMARY:My Event
DTSTART;TZID=MST:20100703T080000
DTEND;TZID=MST:20100703T090000
END:VEVENT
When we process this event, we get an object model similar to this:
Event
-> Properties
-> CalendarProperty
-> Name: SUMMARY
-> Value: My Event
-> CalendarProperty
-> Name: DTSTART
-> Value
-> Type: iCalDateTime
-> Value: 20100703T080000
-> Parameters
-> CalendarParameter: TZID=MST
-> CalendarProperty
-> Name: DTEND
-> Value
-> Type: iCalDateTime
-> Value: 20100703T090000
-> Parameters
-> CalendarParameter: TZID=MST
The problem with this is that, in order to serialize the value
of DTSTART and DTEND properly, they need to be aware of the
TZID parameters that were attached to the event properties.
This is very important when the parameter itself hints at
different types of serialization. Some examples are:
ENCODING=BASE64
VALUE=DATE
That is why the AssociatedCalendarParameterList was created.
This class associates a CalendarDataType-based property value
with the property itself, so it can be serialized correctly.
| |
AssociationUtil | ||
Attachment |
A class to handle attachments, or URIs as attachments, within an iCalendar.
| |
Attendee | ||
CalendarComponent |
This class is used by the parsing framework for iCalendar components.
Generally, you should not need to use this class directly.
| |
CalendarComponentCompositeList<(Of <(<'T>)>)> |
This class works similar to the CalendarPropertyCompositeList class,
but works with components instead of properties.
It consolidates components of a given name into a list,
and allows you to work with directly against the
components themselves. This preserves the notion that our components
are still stored directly within the calendar object, but gives
us the flexibility to work with multiple components through a
single (composite) list.
| |
CalendarDataType |
An abstract class from which all iCalendar data types inherit.
| |
CalendarMethods | ||
CalendarObject |
The base class for all iCalendar objects and components.
| |
CalendarObjectBase | ||
CalendarParameter | ||
CalendarParameterCompositeList |
This class works similar to the CalendarPropertyCompositeList class,
but works with parameters instead of properties.
It consolidates parameters of a given name into a list,
and allows you to work with those values directly against the
parameters themselves. This preserves the notion that our values
are still stored directly within the calendar parameter, but gives
us the flexibility to work with multiple parameters through a
single (composite) list.
| |
CalendarParameterList | ||
CalendarProductIDs | ||
CalendarProperty |
A class that represents a property of the iCalendar
itself or one of its components. It can also represent non-standard
(X-) properties of an iCalendar component, as seen with many
applications, such as with Apple's iCal.
X-WR-CALNAME:US Holidays
| |
CalendarPropertyCompositeList<(Of <(<'T>)>)> |
This class takes multiple calendar properties/property values
and consolidates them into a single list.
Examples
Consider the following example:
BEGIN:VEVENT
CATEGORIES:APPOINTMENT,EDUCATION
CATEGORIES:MEETING
END:EVENT
When we process this event, we don't really care that there
are 2 different CATEGORIES properties, no do we care that
the first CATEGORIES property has 2 values, whereas the
second CATEGORIES property only has 1 value. In the end,
we want a list of 3 values: APPOINTMENT, EDUCATION, and MEETING.
This class consolidates properties of a given name into a list,
and allows you to work with those values directly against the
properties themselves. This preserves the notion that our values
are still stored directly within the calendar property, but gives
us the flexibility to work with multiple properties through a
single (composite) list.
| |
CalendarPropertyList | ||
CalendarScales | ||
CalendarVersions | ||
ComponentFactory | ||
Components | ||
DateUtil | ||
EncodableDataType |
An abstract class from which all iCalendar data types inherit.
| |
EvaluationEngineException | ||
Evaluator | ||
Event |
A class that represents an RFC 5545 VEVENT component.
| |
EventEvaluator | ||
FilteredCalendarObjectList<(Of <(<'T>)>)> |
A collection of iCalendar components. This class is used by the
iCalendar class to maintain a collection of events,
to-do items, journal entries, and free/busy times.
| |
GeographicLocation | ||
iCalDateTime |
The iCalendar equivalent of the .NET DateTime class.
Remarks
In addition to the features of the DateTime class, the iCalDateTime
class handles time zone differences, and integrates seamlessly into
the iCalendar framework.
| |
iCalendar |
A class that represents an iCalendar object. To load an iCalendar object, generally a
static LoadFromXXX method is used.
Examples
For example, use the following code to load an iCalendar object from a URL:
Once created, an iCalendar object can be used to gathers relevant information about
events, todos, time zones, journal entries, and free/busy time.
CopyC# IICalendar iCal = iCalendar.LoadFromUri(new Uri("http://somesite.com/calendar.ics")); | |
iCalendarCollection |
A list of iCalendars.
| |
iCalParserTokenTypes | ||
iCalTimeZone |
A class that represents an RFC 5545 VTIMEZONE component.
| |
iCalTimeZoneInfo |
A class that contains time zone information, and is usually accessed
from an iCalendar object using the GetTimeZone(String) method.
| |
Journal |
A class that represents an RFC 5545 VJOURNAL component.
| |
KeyedList<(Of <(<'T, U>)>)> | ||
KnownTypeHelper | ||
ObjectEventArgs<(Of <(<'T>)>)> | ||
Organizer |
A class that represents the organizer of an event/todo/journal.
| |
Period |
Represents an iCalendar period of time.
| |
PeriodList |
An iCalendar list of recurring dates (or date exclusions)
| |
PeriodListEvaluator | ||
RecurrencePattern |
An iCalendar representation of the RRULE property.
| |
RecurrencePatternEvaluator | ||
RecurrenceUtil | ||
RecurringComponent |
An iCalendar component that recurs.
| |
RecurringComponentDateSorter |
Sorts recurring components by their start dates
| |
RecurringEvaluator | ||
RequestStatus |
A class that represents the return status of an iCalendar request.
| |
SerializationUtil | ||
ServiceProvider | ||
StatusCode |
An iCalendar status code.
| |
TextUtil | ||
TimeZoneEvaluator | ||
TimeZoneInfoEvaluator | ||
Todo |
A class that represents an RFC 5545 VTODO component.
| |
TodoEvaluator | ||
Trigger |
A class that is used to specify exactly when an Alarm component will trigger.
Usually this date/time is relative to the component to which the Alarm is associated.
| |
UIDFactory | ||
UniqueComponent |
Represents a unique component, a component with a unique UID,
which can be used to uniquely identify the component.
| |
UniqueComponentList<(Of <(<'T>)>)> |
A collection of iCalendar components. This class is used by the
iCalendar class to maintain a collection of events,
to-do items, journal entries, and free/busy times.
| |
UTCOffset |
Represents a time offset from UTC (Coordinated Universal Time).
| |
ValueChangedEventArgs | ||
WeekDay |
Represents an RFC 5545 "BYDAY" value.
|
Structures
Structure | Description | |
---|---|---|
AlarmOccurrence |
A class that represents a specific occurrence of an Alarm.
| |
Occurrence | ||
TimeZoneObservance |
Interfaces
Delegates
Delegate | Description | |
---|---|---|
UIDChangedEventHandler |
Enumerations
Enumeration | Description | |
---|---|---|
AlarmAction | ||
EventStatus |
Status codes available to an Event item
| |
FrequencyOccurrence |
Indicates the occurrence of the specific day within a
MONTHLY or YEARLY recurrence frequency. For example, within
a MONTHLY frequency, consider the following:
Recur r = new Recur();
r.Frequency = FrequencyType.Monthly;
r.ByDay.Add(new WeekDay(DayOfWeek.Monday, FrequencyOccurrence.First));
The above example represents the first Monday within the month,
whereas if FrequencyOccurrence.Last were specified, it would
represent the last Monday of the month.
For a YEARLY frequency, consider the following:
Recur r = new Recur();
r.Frequency = FrequencyType.Yearly;
r.ByDay.Add(new WeekDay(DayOfWeek.Monday, FrequencyOccurrence.Second));
The above example represents the second Monday of the year. This can
also be represented with the following code:
r.ByDay.Add(new WeekDay(DayOfWeek.Monday, 2));
| |
FrequencyType | ||
JournalStatus |
Status codes available to a Journal entry.
| |
RecurrenceEvaluationModeType | ||
RecurrenceRestrictionType | ||
TodoStatus |
Status codes available to a Todo item.
| |
TriggerRelation |