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.
|
|
#include <ical/Event.h>
#include <ical/Alarm.h>
#include <db/db.h>
namespace ical { Event::Event(icalcomponent* event_component) { parse(event_component); }
void Event::parse(icalcomponent* event_component) { uid = icalcomponent_get_uid(event_component); dtstart = icaltime_as_timet(icalcomponent_get_dtstart(event_component)); dtend = icaltime_as_timet(icalcomponent_get_dtend(event_component)); summary = std::string(icalcomponent_get_summary(event_component)); parse_alarms(event_component); }
void Event::parse_alarms(icalcomponent* event_component) { icalcomponent* c; for(c = icalcomponent_get_first_component(event_component, ICAL_VALARM_COMPONENT); c != 0; c = icalcomponent_get_next_component(event_component, ICAL_VALARM_COMPONENT)) { alarms.push_back(Alarm(c)); } }
std::string Event::get_uid() const { return uid; }
std::string Event::get_summary() const { return summary; }
uint32_t Event::get_dtstart() const { return dtstart; }
uint32_t Event::get_dtend() const { return dtend; }
std::vector<Alarm> Event::get_alarms() const { return alarms; }
std::vector<std::string> Event::get_db_row() const { return {db_safe(uid), db_safe(summary), db_safe(std::to_string(dtstart)), db_safe(std::to_string(dtend))}; }
std::string Event::print() const { std::string s = ""; s += "UID: " + uid + "\n"; s += "DTSTART: " + std::to_string(dtstart) + "\n"; s += "DTEND: " + std::to_string(dtend) + "\n"; s += "SUMMARY: " + summary + "\n"; s += "ALARMS:\n"; for(auto const& a : alarms) { s += a.print(); } return s; } }
|