$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalspanlist_cxx.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2001, Critical Path
3  * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
4  */
5 
12 #ifndef ICALSPANLIST_CXX_H
13 #define ICALSPANLIST_CXX_H
14 
15 #include "libical_icalss_export.h"
16 
17 extern "C" {
18 #include "icalcomponent.h"
19 #include "icalspanlist.h"
20 #include "icaltime.h"
21 }
22 
23 #include <vector>
24 
25 namespace LibICal
26 {
27 
28 class VComponent;
29 
37 class LIBICAL_ICALSS_EXPORT ICalSpanList
38 {
39 public:
40  ICalSpanList();
41  ICalSpanList(const ICalSpanList &v);
42 
44  ICalSpanList(icalset *set, const icaltimetype &start, const icaltimetype &end);
45 
47  explicit ICalSpanList(icalcomponent *comp);
48 
50  explicit ICalSpanList(VComponent &comp);
51 
53  ~ICalSpanList();
54 
56  VComponent *get_vfreebusy(const char *organizer, const char *attendee);
57 
58  ICalSpanList &operator=(const ICalSpanList &);
59 
61  operator icalspanlist *()
62  {
63  return data;
64  }
65 
67  std::vector<int> as_vector(int delta_t);
68 
70  void dump();
71 
72 private:
73  icalspanlist *data;
74 };
75 
76 } // namespace LibICal;
77 
78 #endif
Defines the data structure for representing date-times.
Defines the data structure for iCalendar components.
A class wrapping the libical icalcomponent functions.
Code that supports collections of free/busy spans of time.