/*
* $Id$
- *
- * Entry point for GroupDAV functions
+ */
+/**
+ * \defgroup GroupdavMain Entry point for GroupDAV functions
*
*/
-
+/*@{*/
#include "webcit.h"
#include "webserver.h"
#include "groupdav.h"
-/*
- * Output HTTP headers which are common to all requests.
+/**
+ * \brief Output HTTP headers which are common to all requests.
*
* Please observe that we don't use the usual output_headers()
* and wDumpContent() functions in the GroupDAV subsystem, so we
-/*
- * string conversion function
+/**
+ * \brief string conversion function
+ * \param target output string
+ * \param source string to process
*/
void euid_escapize(char *target, char *source) {
int i;
}
}
-/*
- * string conversion function
+/**
+ * \brief string conversion function
+ * \param target output string
+ * \param source string to process
*/
void euid_unescapize(char *target, char *source) {
int a, b;
-/*
- * Main entry point for GroupDAV requests
+/**
+ * \brief Main entry point for GroupDAV requests
+ * \param req Request header
+ * \param dav_content_type the kind of dav elemet to represent??
+ * \param dav_content_length the length of our response
+ * \param dav_content the actual content to give back
*/
void groupdav_main(struct httprequest *req,
char *dav_content_type,
extract_token(dav_pathname, req->line, 1, ' ', sizeof dav_pathname);
unescape_input(dav_pathname);
- /* If the request does not begin with "/groupdav", prepend it. If
+ /**
+ * If the request does not begin with "/groupdav", prepend it. If
* we happen to introduce a double-slash, that's ok; we'll strip it
* in the next step.
*/
safestrncpy(dav_pathname, buf, sizeof dav_pathname);
}
- /* Remove any stray double-slashes in pathname */
+ /** Remove any stray double-slashes in pathname */
while (ds=strstr(dav_pathname, "//"), ds != NULL) {
strcpy(ds, ds+1);
}
- /*
+ /**
* If there's an If-Match: header, strip out the quotes if present, and
* then if all that's left is an asterisk, make it go away entirely.
*/
}
}
- /*
+ /**
* The OPTIONS method is not required by GroupDAV. This is an
* experiment to determine what might be involved in supporting
* other variants of DAV in the future.
return;
}
- /*
+ /**
* The PROPFIND method is basically used to list all objects in a
* room, or to list all relevant rooms on the server.
*/
return;
}
- /*
+ /**
* The GET method is used for fetching individual items.
*/
if (!strcasecmp(dav_method, "GET")) {
return;
}
- /*
+ /**
* The PUT method is used to add or modify items.
*/
if (!strcasecmp(dav_method, "PUT")) {
return;
}
- /*
+ /**
* The DELETE method kills, maims, and destroys.
*/
if (!strcasecmp(dav_method, "DELETE")) {
return;
}
- /*
+ /**
* Couldn't find what we were looking for. Die in a car fire.
*/
wprintf("HTTP/1.1 501 Method not implemented\r\n");
dav_method
);
}
+
+
+/*@}*/