]> code.citadel.org Git - citadel.git/blobdiff - webcit-ng/server/webcit.h
Bring ical_dezonify() into caldav_reports.c
[citadel.git] / webcit-ng / server / webcit.h
index 908048ee19e614ebed86d1df81c37dccad11ca6f..e422849a4321c3e962253339d34220e5c2f6cea7 100644 (file)
@@ -1,9 +1,15 @@
 // webcit.h - "header of headers"
 //
-// Copyright (c) 1996-2023 by the citadel.org team
+// Copyright (c) 1996-2024 by the citadel.org team
 //
-// This program is open source software.  You can redistribute it and/or
-// modify it under the terms of the GNU General Public License, version 3.
+// This program is open source software.  Use, duplication, or
+// disclosure is subject to the GNU General Public License v3.
+
+// uncomment one or more of these to see raw http transactions
+//#define DEBUG_HTTP
+//#define REQUEST_BODY_TO_STDERR
+//#define RESPONSE_BODY_TO_STDERR
+#define DEBUG_XML_PARSE
 
 #define SHOW_ME_VAPPEND_PRINTF
 
 #include <openssl/rand.h>
 #include <expat.h>
 #define _(x)   x                               // temporary hack until we add i18n back in
-//#define DEBUG_HTTP                           // uncomment to debug HTTP headers
 
 // XML_StopParser is present in expat 2.x
-#if XML_MAJOR_VERSION > 1
-#define HAVE_XML_STOPPARSER
+#if XML_MAJOR_VERSION < 2
+#error WebCit requires expat v2.0 or newer.
 #endif
 
 struct client_handle {                         // this gets passed up the stack from the webserver to the application code
@@ -135,9 +140,13 @@ enum {
 #define DAV_COPY               1               // they are the values used in the Citadel Server MOVE command
 
 
+// FIXME retrieve this from the server
+#define default_zone_name      ""
+
 // Everything below here is generated with this command:
 // cproto -f2 *.c 2>/dev/null |sed 's/^\/\*/\n\/\//g' | sed 's/\ \*\/$//g'
 
+
 // admin_functions.c
 void try_login(struct http_transaction *, struct ctdlsession *);
 void logout(struct http_transaction *, struct ctdlsession *);
@@ -150,7 +159,10 @@ void caldav_xml_start(void *, const char *, const char **);
 void caldav_xml_end(void *, const char *);
 void caldav_xml_chardata(void *, const XML_Char *, int);
 StrBuf *fetch_ical(struct ctdlsession *, long);
+void cal_multiget_out(long, StrBuf *, StrBuf *, StrBuf *);
 void caldav_report_one_item(struct http_transaction *, struct ctdlsession *, StrBuf *, StrBuf *);
+int caldav_time_range_filter_matches(icalcomponent *, char *, char *);
+int caldav_apply_filters(void *, Array *, int);
 void caldav_report(struct http_transaction *, struct ctdlsession *);
 
 // ctdlclient.c
@@ -198,6 +210,12 @@ void perform_one_http_transaction(struct client_handle *);
 char *header_val(struct http_transaction *, char *);
 char *get_url_param(struct http_transaction *, char *);
 
+// ical_dezonify.c
+icaltimezone *get_default_icaltimezone(void);
+void ical_dezonify_backend(icalcomponent *, icalcomponent *, icalproperty *);
+void ical_dezonify_recurse(icalcomponent *, icalcomponent *);
+void ical_dezonify(icalcomponent *);
+
 // main.c
 int main(int, char **);
 
@@ -285,3 +303,5 @@ char *http_datestring(time_t);
 void spawn_another_worker_thread(int *);
 void worker_entry(int *);
 int webserver(char *, int, int);
+
+