agendafs
A filesystem for your calendar.
git clone git://mccd.space/agendafs| Log | Files | Refs | README | LICENSE | Mail | Website |
ical_extra.h (1976B)
1 #ifndef ical_extra_h_INCLUDED
2 #define ical_extra_h_INCLUDED
3 #include "libical/ical.h"
4 #include "arena.h"
5 #include "sys/stat.h"
6 #include "uuid/uuid.h"
7 #include <stdbool.h>
8
9 icaltimetype
10 get_last_modified(icalcomponent *component);
11
12 bool
13 is_directory_component(icalcomponent *component);
14
15 // Owner: ctx
16 icalcomponent *
17 parse_ics_file(arena *ar, const char *filename);
18
19 icaltimetype
20 get_ical_now();
21
22 size_t
23 icalcomponent_get_description_size(icalcomponent *component);
24
25 char *
26 create_new_unique_ics_uid(arena *ar);
27
28 icalcomponent *
29 create_vjournal_directory(arena *ar, const char *summary);
30
31 icalcomponent *
32 create_vjournal_entry(arena *ar, const char *summary);
33
34 const char *
35 get_parent_uid(icalcomponent *component);
36
37 void
38 remove_parent_child_relationship_from_component(icalcomponent *parent,
39 icalcomponent *child);
40
41 void
42 set_parent_child_relationship_to_component(icalcomponent *parent,
43 icalcomponent *child);
44
45 const icalproperty_class
46 parse_ical_class(const char *input);
47
48 const icalproperty_status
49 parse_ical_status(const char *input);
50
51 const char *
52 format_ical_class(const enum icalproperty_class iclass);
53 const char *
54 format_ical_status(const enum icalproperty_status istatus);
55 void
56 icalcomponent_insert_description(arena *ar, icalcomponent *ic,
57 const char *buf, size_t size, off_t offset);
58
59 void
60 icalcomponent_set_file_extension(icalcomponent *component,
61 const char *extension);
62
63 const char *
64 icalcomponent_get_file_extension(icalcomponent *component);
65
66 void
67 icalcomponent_mark_as_directory(icalcomponent *ic);
68
69 void
70 icalcomponent_set_custom_x_value(arena *ar, icalcomponent *component,
71 const char *key, const char *value);
72
73 const char *
74 icalcomponent_get_custom_x_value(arena *ar, icalcomponent *component,
75 const char *key);
76
77 void
78 icalcomponent_remove_custom_prop(arena *ar, icalcomponent *component,
79 const char *key);
80
81 void
82 icalcomponent_print_x_props(FILE *memstream, icalcomponent *component);
83
84 #endif // ical_extra_h_INCLUDED