Software and Services, Portable Libraries  2019.Mar.01
A library for managing digital certificates
icaldata.hpp File Reference
#include <SaS/iCalendar/iCalendar.hpp>
#include <SaS/iCalendar/action.hpp>
#include <SaS/iCalendar/action_param.hpp>
#include <SaS/iCalendar/allow_conflict.hpp>
#include <SaS/iCalendar/altrep.hpp>
#include <SaS/iCalendar/att_counter.hpp>
#include <SaS/iCalendar/attach.hpp>
#include <SaS/iCalendar/attendee.hpp>
#include <SaS/iCalendar/binary.hpp>
#include <SaS/iCalendar/binary_parameter.hpp>
#include <SaS/iCalendar/binary_property.hpp>
#include <SaS/iCalendar/boolean.hpp>
#include <SaS/iCalendar/boolean_parameter.hpp>
#include <SaS/iCalendar/boolean_property.hpp>
#include <SaS/iCalendar/cal_address.hpp>
#include <SaS/iCalendar/cal_address_parameter.hpp>
#include <SaS/iCalendar/cal_address_property.hpp>
#include <SaS/iCalendar/cal_query.hpp>
#include <SaS/iCalendar/cal_query_parameter.hpp>
#include <SaS/iCalendar/cal_query_property.hpp>
#include <SaS/iCalendar/calid.hpp>
#include <SaS/iCalendar/calmaster.hpp>
#include <SaS/iCalendar/calscale.hpp>
#include <SaS/iCalendar/cap_version.hpp>
#include <SaS/iCalendar/car_level.hpp>
#include <SaS/iCalendar/carid.hpp>
#include <SaS/iCalendar/categories.hpp>
#include <SaS/iCalendar/class_prop.hpp>
#include <SaS/iCalendar/cmd.hpp>
#include <SaS/iCalendar/cn.hpp>
#include <SaS/iCalendar/comment.hpp>
#include <SaS/iCalendar/completed.hpp>
#include <SaS/iCalendar/component.hpp>
#include <SaS/iCalendar/components.hpp>
#include <SaS/iCalendar/contact.hpp>
#include <SaS/iCalendar/created.hpp>
#include <SaS/iCalendar/csid.hpp>
#include <SaS/iCalendar/cutype.hpp>
#include <SaS/iCalendar/date.hpp>
#include <SaS/iCalendar/date_parameter.hpp>
#include <SaS/iCalendar/date_property.hpp>
#include <SaS/iCalendar/date_time.hpp>
#include <SaS/iCalendar/date_time_parameter.hpp>
#include <SaS/iCalendar/date_time_property.hpp>
#include <SaS/iCalendar/daylightValue.hpp>
#include <SaS/iCalendar/decreed.hpp>
#include <SaS/iCalendar/default_charset.hpp>
#include <SaS/iCalendar/default_locale.hpp>
#include <SaS/iCalendar/default_tzid.hpp>
#include <SaS/iCalendar/default_vcars.hpp>
#include <SaS/iCalendar/delegated_from.hpp>
#include <SaS/iCalendar/delegated_to.hpp>
#include <SaS/iCalendar/deny.hpp>
#include <SaS/iCalendar/description.hpp>
#include <SaS/iCalendar/dir.hpp>
#include <SaS/iCalendar/dtend.hpp>
#include <SaS/iCalendar/dtstamp.hpp>
#include <SaS/iCalendar/dtstart.hpp>
#include <SaS/iCalendar/due.hpp>
#include <SaS/iCalendar/dur_parameter.hpp>
#include <SaS/iCalendar/dur_property.hpp>
#include <SaS/iCalendar/dur_value.hpp>
#include <SaS/iCalendar/duration.hpp>
#include <SaS/iCalendar/enable.hpp>
#include <SaS/iCalendar/encoding.hpp>
#include <SaS/iCalendar/exdate.hpp>
#include <SaS/iCalendar/expand.hpp>
#include <SaS/iCalendar/exrule.hpp>
#include <SaS/iCalendar/fbtype.hpp>
#include <SaS/iCalendar/float_parameter.hpp>
#include <SaS/iCalendar/float_property.hpp>
#include <SaS/iCalendar/float_value.hpp>
#include <SaS/iCalendar/fmttype.hpp>
#include <SaS/iCalendar/freebusy.hpp>
#include <SaS/iCalendar/geo.hpp>
#include <SaS/iCalendar/grant.hpp>
#include <SaS/iCalendar/iCalError.hpp>
#include <SaS/iCalendar/icalbody.hpp>
#include <SaS/iCalendar/id.hpp>
#include <SaS/iCalendar/integer.hpp>
#include <SaS/iCalendar/integer_parameter.hpp>
#include <SaS/iCalendar/integer_property.hpp>
#include <SaS/iCalendar/itip_version.hpp>
#include <SaS/iCalendar/language.hpp>
#include <SaS/iCalendar/last_modified.hpp>
#include <SaS/iCalendar/latency.hpp>
#include <SaS/iCalendar/local.hpp>
#include <SaS/iCalendar/localize.hpp>
#include <SaS/iCalendar/location.hpp>
#include <SaS/iCalendar/max_comp_size.hpp>
#include <SaS/iCalendar/maxdate.hpp>
#include <SaS/iCalendar/member.hpp>
#include <SaS/iCalendar/method.hpp>
#include <SaS/iCalendar/mindate.hpp>
#include <SaS/iCalendar/multipart.hpp>
#include <SaS/iCalendar/name.hpp>
#include <SaS/iCalendar/options.hpp>
#include <SaS/iCalendar/organizer.hpp>
#include <SaS/iCalendar/owner.hpp>
#include <SaS/iCalendar/parameter.hpp>
#include <SaS/iCalendar/partstat.hpp>
#include <SaS/iCalendar/percent_complete.hpp>
#include <SaS/iCalendar/period.hpp>
#include <SaS/iCalendar/period_parameter.hpp>
#include <SaS/iCalendar/period_property.hpp>
#include <SaS/iCalendar/permission.hpp>
#include <SaS/iCalendar/priority.hpp>
#include <SaS/iCalendar/prodid.hpp>
#include <SaS/iCalendar/property.hpp>
#include <SaS/iCalendar/query.hpp>
#include <SaS/iCalendar/query_level.hpp>
#include <SaS/iCalendar/queryid.hpp>
#include <SaS/iCalendar/range.hpp>
#include <SaS/iCalendar/rdate.hpp>
#include <SaS/iCalendar/recur.hpp>
#include <SaS/iCalendar/recur_accepted.hpp>
#include <SaS/iCalendar/recur_expand.hpp>
#include <SaS/iCalendar/recur_limit.hpp>
#include <SaS/iCalendar/recur_parameter.hpp>
#include <SaS/iCalendar/recur_property.hpp>
#include <SaS/iCalendar/recurrence_id.hpp>
#include <SaS/iCalendar/related.hpp>
#include <SaS/iCalendar/related_to.hpp>
#include <SaS/iCalendar/reltype.hpp>
#include <SaS/iCalendar/repeat.hpp>
#include <SaS/iCalendar/request_status.hpp>
#include <SaS/iCalendar/resources.hpp>
#include <SaS/iCalendar/restriction.hpp>
#include <SaS/iCalendar/role.hpp>
#include <SaS/iCalendar/rrule.hpp>
#include <SaS/iCalendar/rsvp.hpp>
#include <SaS/iCalendar/scope.hpp>
#include <SaS/iCalendar/sent_by.hpp>
#include <SaS/iCalendar/sequence.hpp>
#include <SaS/iCalendar/standardValue.hpp>
#include <SaS/iCalendar/status.hpp>
#include <SaS/iCalendar/stores_expanded.hpp>
#include <SaS/iCalendar/summary.hpp>
#include <SaS/iCalendar/target.hpp>
#include <SaS/iCalendar/text.hpp>
#include <SaS/iCalendar/text_parameter.hpp>
#include <SaS/iCalendar/text_property.hpp>
#include <SaS/iCalendar/time.hpp>
#include <SaS/iCalendar/time_parameter.hpp>
#include <SaS/iCalendar/time_property.hpp>
#include <SaS/iCalendar/transp.hpp>
#include <SaS/iCalendar/trigger.hpp>
#include <SaS/iCalendar/tzid.hpp>
#include <SaS/iCalendar/tzidparam.hpp>
#include <SaS/iCalendar/tznameValue.hpp>
#include <SaS/iCalendar/tzoffsetfrom.hpp>
#include <SaS/iCalendar/tzoffsetto.hpp>
#include <SaS/iCalendar/tzurl.hpp>
#include <SaS/iCalendar/uid.hpp>
#include <SaS/iCalendar/upn_filter.hpp>
#include <SaS/iCalendar/upn_filter_parameter.hpp>
#include <SaS/iCalendar/upn_filter_property.hpp>
#include <SaS/iCalendar/upn_parameter.hpp>
#include <SaS/iCalendar/upn_property.hpp>
#include <SaS/iCalendar/upn_value.hpp>
#include <SaS/iCalendar/uri.hpp>
#include <SaS/iCalendar/uri_parameter.hpp>
#include <SaS/iCalendar/uri_property.hpp>
#include <SaS/iCalendar/url.hpp>
#include <SaS/iCalendar/utc_offset.hpp>
#include <SaS/iCalendar/utc_offset_parameter.hpp>
#include <SaS/iCalendar/utc_offset_property.hpp>
#include <SaS/iCalendar/vagenda.hpp>
#include <SaS/iCalendar/valarm.hpp>
#include <SaS/iCalendar/value.hpp>
#include <SaS/iCalendar/BaseValueType.hpp>
#include <SaS/iCalendar/valuetype.hpp>
#include <SaS/iCalendar/vcalendar.hpp>
#include <SaS/iCalendar/vcalstore.hpp>
#include <SaS/iCalendar/vcar.hpp>
#include <SaS/iCalendar/vcard.hpp>
#include <SaS/iCalendar/vcard_adr.hpp>
#include <SaS/iCalendar/vcard_agent.hpp>
#include <SaS/iCalendar/vcard_bday.hpp>
#include <SaS/iCalendar/vcard_email.hpp>
#include <SaS/iCalendar/vcard_fn.hpp>
#include <SaS/iCalendar/vcard_key.hpp>
#include <SaS/iCalendar/vcard_label.hpp>
#include <SaS/iCalendar/vcard_logo.hpp>
#include <SaS/iCalendar/vcard_mailer.hpp>
#include <SaS/iCalendar/vcard_n.hpp>
#include <SaS/iCalendar/vcard_nickname.hpp>
#include <SaS/iCalendar/vcard_note.hpp>
#include <SaS/iCalendar/vcard_org.hpp>
#include <SaS/iCalendar/vcard_photo.hpp>
#include <SaS/iCalendar/vcard_rev.hpp>
#include <SaS/iCalendar/vcard_sort_string.hpp>
#include <SaS/iCalendar/vcard_sound.hpp>
#include <SaS/iCalendar/vcard_tel.hpp>
#include <SaS/iCalendar/vcard_title.hpp>
#include <SaS/iCalendar/vcard_tz.hpp>
#include <SaS/iCalendar/vcard_version.hpp>
#include <SaS/iCalendar/version.hpp>
#include <SaS/iCalendar/vevent.hpp>
#include <SaS/iCalendar/vfreebusy.hpp>
#include <SaS/iCalendar/vjournal.hpp>
#include <SaS/iCalendar/vquery.hpp>
#include <SaS/iCalendar/vreply.hpp>
#include <SaS/iCalendar/vright.hpp>
#include <SaS/iCalendar/vtimezone.hpp>
#include <SaS/iCalendar/vtodo.hpp>
#include <SaS/iCalendar/x-component.hpp>
#include <SaS/iCalendar/x-param.hpp>
#include <SaS/iCalendar/x-sas-color.hpp>
#include <SaS/iCalendar/x-sas-data.hpp>
#include <SaS/iCalendar/x-sas-description.hpp>
#include <SaS/iCalendar/x-sas-fixed-recur.hpp>
#include <SaS/iCalendar/x-sas-font.hpp>
#include <SaS/iCalendar/x-sas-group.hpp>
#include <SaS/iCalendar/x-sas-id.hpp>
#include <SaS/iCalendar/x-sas-image.hpp>
#include <SaS/iCalendar/x-sas-invited.hpp>
#include <SaS/iCalendar/x-sas-local.hpp>
#include <SaS/iCalendar/x-sas-parent.hpp>
#include <SaS/iCalendar/x-sas-photo.hpp>
#include <SaS/iCalendar/x-sas-sound.hpp>
#include <SaS/iCalendar/x-sas-admin.hpp>
#include <SaS/iCalendar/x-sas-realm.hpp>
#include <SaS/iCalendar/x-sas-vrealm.hpp>
#include <SaS/iCalendar/x-prop.hpp>
#include <map>
#include <SaS/Sql/SQL_postgres.hpp>
#include <SaS/Sql/SQL_MySql.hpp>
#include <SaS/Sql/SQL_Odbc.hpp>
#include <SaS/iCalendar/icalSQL.hpp>
#include <sys/time.h>
#include <sys/timeb.h>

Go to the source code of this file.

Classes

class  SoftwareAndServices::Library::iCalendar::icalData
 Manages a cache of iCalendar objects. More...
 
class  SoftwareAndServices::Library::iCalendar::icalInstances
 Maps instances of an iCalendar object, to the component id. More...
 
class  SoftwareAndServices::Library::iCalendar::tzidData
 Manages a cache of time zone information. More...
 
class  SoftwareAndServices::Library::iCalendar::tzidData::tzidKey
 Manage time zone id's. More...
 
class  SoftwareAndServices::Library::iCalendar::tzidData::tzidUpdate
 A list of instance times and switch to value to be used when expanding instance date and date-time values. More...
 
class  SoftwareAndServices::Library::iCalendar::tzidEntry
 This is used internally to represent an instance of change in a VTIMEZONE. More...
 

Namespaces

 SoftwareAndServices
 Copyright Douglas Mark Royer Dougl.nosp@m.asRo.nosp@m.yer@g.nosp@m.mail.nosp@m..com.
 

Functions

EXPORT_ICALENDAR void SoftwareAndServices::Library::iCalendar::cacheVtimezone (CalendarId_t calId)
 Cache a VTIMEZONE. More...
 
EXPORT_ICALENDAR icalData * SoftwareAndServices::Library::iCalendar::findCalendar (CalendarId_t calid)
 Find the cache data for a CALID. More...
 
EXPORT_ICALENDAR std::map< unsigned long long, icalData * >::iterator SoftwareAndServices::Library::iCalendar::findCalendar (iCalendar *existing)
 Find a calendar iterator in the cache from an iCalendar. More...
 
EXPORT_ICALENDAR CalendarId_t SoftwareAndServices::Library::iCalendar::findCalendarId (iCalendar *existing)
 Find CALID from an iCalendar. More...
 
EXPORT_ICALENDAR iCalendar * SoftwareAndServices::Library::iCalendar::getiCalFromProp (property *prop)
 Find an iCalendar from a property (find its oldest ancestor) More...
 
EXPORT_ICALENDAR propertyVec * SoftwareAndServices::Library::iCalendar::getInstances (icalData *data, component *foundComp, date_time *fromDateTime, date_time *toDateTime)
 Internal getInstances, get the instances using TZID data. More...
 
EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime (iCalendar *ical, tzidparam *tzid, date_time *dt)
 Get the UTC time. More...
 
EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime (iCalendar *ical, tzidparam *tzid, date *dt)
 Get the UTC time. More...
 
EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime (iCalendar *ical, property *oneWithTzid)
 Get the UTC time. More...
 

Detailed Description

Author
Doug Royer / SoftwareAndServices

This is a class and interfaces in C and C++ that represents calendar objects unique to this implementation. It is designed to be compatible with RFC-iCalendar, RFC-iTIP, RFC-iMIP, CAP, and current WebDAV and CalDAV calendars.

Definition in file icaldata.hpp.

Function Documentation

◆ cacheVtimezone()

EXPORT_ICALENDAR void SoftwareAndServices::Library::iCalendar::cacheVtimezone ( CalendarId_t  calId)

Cache a VTIMEZONE.

◆ findCalendar() [1/2]

EXPORT_ICALENDAR icalData* SoftwareAndServices::Library::iCalendar::findCalendar ( CalendarId_t  calid)

Find the cache data for a CALID.

◆ findCalendar() [2/2]

EXPORT_ICALENDAR std::map<unsigned long long,icalData*>::iterator SoftwareAndServices::Library::iCalendar::findCalendar ( iCalendar existing)

Find a calendar iterator in the cache from an iCalendar.

◆ findCalendarId()

EXPORT_ICALENDAR CalendarId_t SoftwareAndServices::Library::iCalendar::findCalendarId ( iCalendar existing)

Find CALID from an iCalendar.

◆ getiCalFromProp()

EXPORT_ICALENDAR iCalendar* SoftwareAndServices::Library::iCalendar::getiCalFromProp ( property prop)

Find an iCalendar from a property (find its oldest ancestor)

◆ getInstances()

EXPORT_ICALENDAR propertyVec* SoftwareAndServices::Library::iCalendar::getInstances ( icalData data,
component foundComp,
date_time fromDateTime,
date_time toDateTime 
)

Internal getInstances, get the instances using TZID data.

◆ getUtcTime() [1/3]

EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime ( iCalendar ical,
tzidparam tzid,
date_time dt 
)

Get the UTC time.

◆ getUtcTime() [2/3]

EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime ( iCalendar ical,
tzidparam tzid,
date dt 
)

Get the UTC time.

◆ getUtcTime() [3/3]

EXPORT_ICALENDAR time_t SoftwareAndServices::Library::iCalendar::getUtcTime ( iCalendar ical,
property oneWithTzid 
)

Get the UTC time.