agendafs

A filesystem for your calendar.

git clone git://mccd.space/agendafs

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