You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
687 B

  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <memory>
  5. #include <libical/ical.h>
  6. #include <io/debug.h>
  7. #include <ical/Alarm.h>
  8. namespace ical {
  9. class Event {
  10. public:
  11. Event(icalcomponent* event_component);
  12. void parse(icalcomponent* event);
  13. void parse_alarms(icalcomponent* event_component);
  14. std::string get_uid() const;
  15. std::string get_summary() const;
  16. icaltimetype get_dtstart() const;
  17. icaltimetype get_dtend() const;
  18. std::vector<Alarm> get_alarms() const;
  19. std::string print() const;
  20. private:
  21. std::string uid;
  22. std::string summary;
  23. icaltimetype dtstart;
  24. icaltimetype dtend;
  25. std::vector<Alarm> alarms;
  26. };
  27. }