101 lines
3.0 KiB
C
101 lines
3.0 KiB
C
/* -*- Mode: C -*- */
|
|
/*======================================================================
|
|
FILE: icalcstpclient.h
|
|
CREATOR: eric 4 Feb 01
|
|
|
|
$Id$
|
|
|
|
|
|
(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/
|
|
|
|
The original code is icalcstp.h
|
|
|
|
======================================================================*/
|
|
|
|
|
|
#ifndef ICALCSTPC_H
|
|
#define ICALCSTPC_H
|
|
|
|
#include "ical.h"
|
|
#include "icalcstp.h"
|
|
|
|
/********************** Client (Sender) Interfaces **************************/
|
|
|
|
/* How to use:
|
|
|
|
1) Construct a new icalcstpc
|
|
2) Issue a command by calling one of the command routines.
|
|
3) Repeat until both call icalcstpc_next_output and
|
|
icalcstpc_next_input return 0:
|
|
3a) Call icalcstpc_next_output. Send string to server.
|
|
3b) Get string from server, & give to icalcstp_next_input()
|
|
4) Iterate with icalcstpc_first_response & icalcstp_next_response to
|
|
get the servers responses
|
|
5) Repeat at #2
|
|
*/
|
|
|
|
|
|
typedef void icalcstpc;
|
|
|
|
/* Response code sent by the server. */
|
|
typedef struct icalcstpc_response {
|
|
icalrequeststatus code;
|
|
char *arg; /* These strings are owned by libical */
|
|
char *debug_text;
|
|
char *more_text;
|
|
void* result;
|
|
} icalcstpc_response;
|
|
|
|
|
|
icalcstpc* icalcstpc_new();
|
|
|
|
void icalcstpc_free(icalcstpc* cstpc);
|
|
|
|
int icalcstpc_set_timeout(icalcstpc* cstp, int sec);
|
|
|
|
|
|
/* Get the next string to send to the server */
|
|
char* icalcstpc_next_output(icalcstpc* cstp, char* line);
|
|
|
|
/* process the next string from the server */
|
|
int icalcstpc_next_input(icalcstpc* cstp, char * line);
|
|
|
|
/* After icalcstpc_next_input returns a 0, there are responses
|
|
ready. use these to get them */
|
|
icalcstpc_response icalcstpc_first_response(icalcstpc* cstp);
|
|
icalcstpc_response icalcstpc_next_response(icalcstpc* cstp);
|
|
|
|
/* Issue a command */
|
|
icalerrorenum icalcstpc_abort(icalcstpc* cstp);
|
|
icalerrorenum icalcstpc_authenticate(icalcstpc* cstp, char* mechanism,
|
|
char* init_data, char* f(char*) );
|
|
icalerrorenum icalcstpc_capability(icalcstpc* cstp);
|
|
icalerrorenum icalcstpc_calidexpand(icalcstpc* cstp,char* calid);
|
|
icalerrorenum icalcstpc_continue(icalcstpc* cstp, unsigned int time);
|
|
icalerrorenum icalcstpc_disconnect(icalcstpc* cstp);
|
|
icalerrorenum icalcstpc_identify(icalcstpc* cstp, char* id);
|
|
icalerrorenum icalcstpc_starttls(icalcstpc* cstp, char* command,
|
|
char* init_data, char* f(char*));
|
|
icalerrorenum icalcstpc_senddata(icalcstpc* cstp, unsigned int time,
|
|
icalcomponent *comp);
|
|
icalerrorenum icalcstpc_upnexpand(icalcstpc* cstp,char* calid);
|
|
icalerrorenum icalcstpc_sendata(icalcstpc* cstp, unsigned int time,
|
|
icalcomponent *comp);
|
|
|
|
|
|
#endif /* !ICALCSTPC_H */
|
|
|
|
|
|
|