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.

34 lines
643 B

  1. #pragma once
  2. #include <string>
  3. #include <memory>
  4. #include <libical/ical.h>
  5. #include <io/debug.h>
  6. namespace ical {
  7. enum class action {
  8. DISPLAY, AUDIO, EMAIL, PROC
  9. };
  10. enum class trigger_type {
  11. ABSOLUTE, RELATIVE
  12. };
  13. class Alarm {
  14. public:
  15. Alarm(icalcomponent* alarm_component);
  16. void parse(icalcomponent* alarm_component);
  17. void parse_action(icalcomponent* alarm_component);
  18. void parse_description(icalcomponent* alarm_component);
  19. void parse_trigger(icalcomponent* alarm_component);
  20. std::string print() const;
  21. private:
  22. action a;
  23. trigger_type trigger;
  24. std::string description;
  25. };
  26. }