author | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
commit | b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (side-by-side diff) | |
tree | 2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /libical/src/libicalss/icalcstp.c | |
download | kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.zip kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.gz kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.bz2 |
Initial revision
Diffstat (limited to 'libical/src/libicalss/icalcstp.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libical/src/libicalss/icalcstp.c | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/libical/src/libicalss/icalcstp.c b/libical/src/libicalss/icalcstp.c new file mode 100644 index 0000000..ed62b40 --- a/dev/null +++ b/libical/src/libicalss/icalcstp.c @@ -0,0 +1,122 @@ +/* -*- Mode: C -*- + ====================================================================== + FILE: icalcstps.c + CREATOR: ebusboom 23 Jun 2000 + + $Id$ + $Locker$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + + ======================================================================*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "ical.h" +#include "icalcstp.h" +#include "pvl.h" + +// Eugen C. <eug@thekompany.com> +#include <defines.h> +#ifndef _QTWIN_ +#include <sys/types.h> /* For send(), others */ +#include <sys/socket.h> /* For send(), others. */ +#include <unistd.h> +#endif +// Eugen C. <eug@thekompany.com> +#include <errno.h> +#include <stdlib.h> /* for malloc */ +#include <string.h> + + +struct command_map { + enum icalcstp_command command; + char *str; +} command_map[] = +{ + {ICAL_ABORT_COMMAND,"ABORT"}, + {ICAL_AUTHENTICATE_COMMAND,"AUTHENTICATE"}, + {ICAL_CAPABILITY_COMMAND,"CAPABILITY"}, + {ICAL_CONTINUE_COMMAND,"CONTINUE"}, + {ICAL_CALIDEXPAND_COMMAND,"CALIDEXPAND"}, + {ICAL_IDENTIFY_COMMAND,"IDENTIFY"}, + {ICAL_DISCONNECT_COMMAND,"DISCONNECT"}, + {ICAL_SENDDATA_COMMAND,"SENDDATA"}, + {ICAL_STARTTLS_COMMAND,"STARTTLS"}, + {ICAL_UPNEXPAND_COMMAND,"UPNEXPAND"}, + {ICAL_UNKNOWN_COMMAND,"UNKNOWN"} +}; + + +icalcstp_command icalcstp_line_command(char* line) +{ + int i; + + for(i = 0; command_map[i].command != ICAL_UNKNOWN_COMMAND; i++){ + size_t l = strlen(command_map[i].str); + + if(strncmp(line, command_map[i].str, l) == 0){ + return command_map[i].command; + } + + } + + return ICAL_UNKNOWN_COMMAND; +} + +icalrequeststatus icalcstp_line_response_code(char* line) +{ + struct icalreqstattype rs; + + rs = icalreqstattype_from_string(line); + + return rs.code; +} + +int icalcstp_line_is_endofdata(char* line) +{ + if(line[0] == '.' && line[1] == '\n'){ + return 1; + } + + return 0; + +} + +int icalcstp_line_is_mime(char* line) +{ + return 0; +} + + +const char* icalcstp_command_to_string(icalcstp_command command){ + + int i; + + for(i = 0; command_map[i].command != ICAL_UNKNOWN_COMMAND; i++){ + size_t l = strlen(command_map[i].str); + + if(command_map[i].command == command){ + return command_map[i].str; + } + + } + + return command_map[i].str; + +} + |