00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef OpenSOAP_Transport_H
00012 #define OpenSOAP_Transport_H
00013
00014 #include <OpenSOAP/ByteArray.h>
00015 #include <OpenSOAP/Envelope.h>
00016 #include <OpenSOAP/Stream.h>
00017
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00032 typedef struct tagOpenSOAPTransport OpenSOAPTransport;
00033
00038 typedef OpenSOAPTransport *OpenSOAPTransportPtr;
00039
00048 int
00049 OPENSOAP_API
00050 OpenSOAPTransportCreate(OpenSOAPTransportPtr * t);
00051
00060 int
00061 OPENSOAP_API
00062 OpenSOAPTransportRelease(OpenSOAPTransportPtr t);
00063
00074 int
00075 OPENSOAP_API
00076 OpenSOAPTransportSend(OpenSOAPTransportPtr t,
00077 OpenSOAPEnvelopePtr soap_env);
00078
00089 int
00090 OPENSOAP_API
00091 OpenSOAPTransportReceive(OpenSOAPTransportPtr t,
00092 OpenSOAPEnvelopePtr * soap_env);
00093
00102 int
00103 OPENSOAP_API
00104 OpenSOAPTransportConnect(OpenSOAPTransportPtr t);
00105
00114 int
00115 OPENSOAP_API
00116 OpenSOAPTransportDisconnect(OpenSOAPTransportPtr t);
00117
00134 int
00135 OPENSOAP_API
00136 OpenSOAPTransportInvokeStream(OpenSOAPTransportPtr t,
00137 OpenSOAPStreamPtr stream,
00138 int input_size,
00139 int * tp_status);
00140
00155 int
00156 OPENSOAP_API
00157 OpenSOAPTransportInvokeByteArray(OpenSOAPTransportPtr t,
00158 OpenSOAPByteArrayPtr request,
00159 OpenSOAPByteArrayPtr response,
00160 int * tp_status);
00161
00193 int
00194 OPENSOAP_API
00195 OpenSOAPTransportInvoke(OpenSOAPTransportPtr t,
00196 OpenSOAPEnvelopePtr request,
00197 OpenSOAPEnvelopePtr * response);
00198
00209 int
00210 OPENSOAP_API
00211 OpenSOAPTransportSetSOAPAction(OpenSOAPTransportPtr t,
00212 const char * soap_action);
00213
00224 int
00225 OPENSOAP_API
00226 OpenSOAPTransportSetURL(OpenSOAPTransportPtr t,
00227 const char * url);
00228
00241 int
00242 OPENSOAP_API
00243 OpenSOAPTransportSetHeader(OpenSOAPTransportPtr t,
00244 const char * header_name,
00245 const char * header_value);
00246
00259 int
00260 OPENSOAP_API
00261 OpenSOAPTransportGetHeader(OpenSOAPTransportPtr t,
00262 const char * header_name,
00263 char ** header_value);
00264
00275 int
00276 OPENSOAP_API
00277 OpenSOAPTransportSetCharset(OpenSOAPTransportPtr t,
00278 const char * charset);
00279
00290 int
00291 OPENSOAP_API
00292 OpenSOAPTransportSetContentType(OpenSOAPTransportPtr t,
00293 const char * content_type);
00294
00303 int
00304 OPENSOAP_API
00305 OpenSOAPTransportSMTPSetHostname(OpenSOAPTransportPtr s);
00306
00315 int
00316 OPENSOAP_API
00317 OpenSOAPTransportSMTPSetFrom(OpenSOAPTransportPtr t);
00318
00327 int
00328 OPENSOAP_API
00329 OpenSOAPTransportSMTPSetTo(OpenSOAPTransportPtr t);
00330
00343 int
00344 OPENSOAP_API
00345 OpenSOAPTransportSetAuthUserPass(OpenSOAPTransportPtr t,
00346 const char * user,
00347 const char * passwd);
00348
00353 #define OPENSOAP_AUTH_TYPE_BASIC (1)
00354
00359 #define OPENSOAP_AUTH_TYPE_DIGEST (2)
00360
00365 #define OPENSOAP_AUTH_TYPE_ANY (0)
00366
00383 int
00384 OPENSOAP_API
00385 OpenSOAPTransportSetAuthType(OpenSOAPTransportPtr t,
00386 int auth_type );
00387
00410 int
00411 OPENSOAP_API
00412 OpenSOAPTransportSetProxy(OpenSOAPTransportPtr t,
00413 const char * host,
00414 int port,
00415 const char * user,
00416 const char * passwd,
00417 int auth_type);
00418
00423 #define OPENSOAP_SSL_VER_SSL2 (1)
00424
00429 #define OPENSOAP_SSL_VER_SSL3 (2)
00430
00435 #define OPENSOAP_SSL_VER_TLS1 (4)
00436
00442 #define OPENSOAP_SSL_VER_ALL (0)
00443
00457 int
00458 OPENSOAP_API
00459 OpenSOAPTransportSetSSLVersion(OpenSOAPTransportPtr t,
00460 int ssl_version );
00461
00487 int
00488 OPENSOAP_API
00489 OpenSOAPTransportSetSSLCert(OpenSOAPTransportPtr t,
00490 const char * ca_file,
00491 const char * ca_dir,
00492 const char * certchain_file,
00493 const char * privkey_file,
00494 int verify_level );
00495
00496 #ifdef __cplusplus
00497 }
00498 #endif
00499
00500 #endif