Main Page | File List | File Members

Transport.h

Go to the documentation of this file.
00001 /* -*- mode: c++; -*-
00002  *-----------------------------------------------------------------------------
00003  * $RCSfile: Transport.h,v $
00004  *
00005  * See Copyright for the status of this software.
00006  *
00007  * The OpenSOAP Project
00008  * http://opensoap.jp/
00009  *-----------------------------------------------------------------------------
00010  */
00011 #ifndef OpenSOAP_Transport_H
00012 #define OpenSOAP_Transport_H
00013 
00014 #include <OpenSOAP/ByteArray.h>
00015 #include <OpenSOAP/Envelope.h>
00016 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif /* __cplusplus */
00026 
00031     typedef struct tagOpenSOAPTransport OpenSOAPTransport;
00032 
00037     typedef OpenSOAPTransport    *OpenSOAPTransportPtr;
00038 
00047     int
00048     OPENSOAP_API
00049     OpenSOAPTransportCreate(OpenSOAPTransportPtr * /* [out] */ t);
00050 
00059     int
00060     OPENSOAP_API
00061     OpenSOAPTransportRelease(OpenSOAPTransportPtr /* [in] */ t);
00062 
00073     int
00074     OPENSOAP_API
00075     OpenSOAPTransportSend(OpenSOAPTransportPtr /* [in] */ t,
00076                           OpenSOAPEnvelopePtr /* [in] */ soap_env);
00077 
00088     int
00089     OPENSOAP_API
00090     OpenSOAPTransportReceive(OpenSOAPTransportPtr /* [in] */ t,
00091                              OpenSOAPEnvelopePtr * /* [in, out] */ soap_env);
00092 
00101     int
00102     OPENSOAP_API
00103     OpenSOAPTransportConnect(OpenSOAPTransportPtr /* [in] */ t);
00104 
00113     int
00114     OPENSOAP_API
00115     OpenSOAPTransportDisconnect(OpenSOAPTransportPtr /* [in] */ t);
00116 
00131     int
00132     OPENSOAP_API
00133     OpenSOAPTransportInvokeByteArray(OpenSOAPTransportPtr /* [in] */ t,
00134                                      OpenSOAPByteArrayPtr /* [in] */ request,
00135                                      OpenSOAPByteArrayPtr /* [out] */ response,
00136                                      int * /* [out] */ tp_status);
00137     
00169     int
00170     OPENSOAP_API
00171     OpenSOAPTransportInvoke(OpenSOAPTransportPtr /* [in] */ t,
00172                             OpenSOAPEnvelopePtr /* [in] */ request,
00173                             OpenSOAPEnvelopePtr * /* [in, out] */ response);
00174     
00185     int
00186     OPENSOAP_API
00187     OpenSOAPTransportSetSOAPAction(OpenSOAPTransportPtr /* [in, out] */ t,
00188                                    const char * /* [in] */ soap_action);
00189 
00200     int
00201     OPENSOAP_API
00202     OpenSOAPTransportSetURL(OpenSOAPTransportPtr /* [in, out] */ t,
00203                             const char * /* [in] */ url);
00204 
00217     int
00218     OPENSOAP_API
00219     OpenSOAPTransportSetHeader(OpenSOAPTransportPtr /* [in, out] */ t,
00220                                const char * /* [in] */ header_name,
00221                                const char * /* [in] */ header_value);
00222 
00235     int
00236     OPENSOAP_API
00237     OpenSOAPTransportGetHeader(OpenSOAPTransportPtr /* [in] */ t,
00238                                const char * /* [in] */ header_name,
00239                                char ** /* [out] */ header_value);
00240     
00251     int
00252     OPENSOAP_API
00253     OpenSOAPTransportSetCharset(OpenSOAPTransportPtr /* [out] */ t,
00254                                 const char * /* [in] */ charset);
00255 
00264     int
00265     OPENSOAP_API
00266     OpenSOAPTransportSMTPSetHostname(OpenSOAPTransportPtr /* [in, out] */ s);
00267 
00276     int
00277     OPENSOAP_API
00278     OpenSOAPTransportSMTPSetFrom(OpenSOAPTransportPtr /* [in, out] */ t);
00279 
00288     int
00289     OPENSOAP_API
00290     OpenSOAPTransportSMTPSetTo(OpenSOAPTransportPtr /* [in, out] */ t);
00291 
00304     int
00305     OPENSOAP_API
00306     OpenSOAPTransportSetAuthUserPass(OpenSOAPTransportPtr /* [out] */ t,
00307                                                                          const char * /* [in] */ user,
00308                                                                          const char * /* [in] */ passwd);
00309 
00314 #define OPENSOAP_AUTH_TYPE_BASIC    (1)  /* BASIC */
00315 
00320 #define OPENSOAP_AUTH_TYPE_DIGEST    (2)  /* DIGEST */
00321 
00326 #define OPENSOAP_AUTH_TYPE_ANY (0)
00327 
00344     int
00345     OPENSOAP_API
00346     OpenSOAPTransportSetAuthType(OpenSOAPTransportPtr /* [out] */ t,
00347                                                                  int /* [in] */ auth_type );
00348 
00371     int
00372     OPENSOAP_API
00373     OpenSOAPTransportSetProxy(OpenSOAPTransportPtr /* [out] */ t,
00374                               const char * /* [in] */ host,
00375                               int /* [in] */ port,
00376                               const char * /* [in] */ user,
00377                               const char * /* [in] */ passwd,
00378                               int /* [in] */ auth_type);
00379 
00384 #define OPENSOAP_SSL_VER_SSL2    (1)  /* SSL_V2.0 ONLY */
00385     
00390 #define OPENSOAP_SSL_VER_SSL3    (2)  /* SSL_V3.0 ONLY */
00391     
00396 #define OPENSOAP_SSL_VER_TLS1    (4)  /* TLS_V1.0 ONLY */
00397 
00403 #define OPENSOAP_SSL_VER_ALL (0) /* SSL all version */
00404     
00418     int
00419     OPENSOAP_API
00420     OpenSOAPTransportSetSSLVersion(OpenSOAPTransportPtr /* [out] */ t,
00421                                 int /* [in] */ ssl_version );
00422 
00448     int
00449     OPENSOAP_API
00450     OpenSOAPTransportSetSSLCert(OpenSOAPTransportPtr /* [out] */ t,
00451                                       const char * /* [in] */ ca_file,
00452                                       const char * /* [in] */ ca_dir,
00453                                       const char * /* [in] */ certchain_file,
00454                                       const char * /* [in] */ privkey_file,
00455                                       int /* [in] */ verify_level );
00456 
00457 #ifdef __cplusplus
00458 }
00459 #endif /* __cplusplus */
00460 
00461 #endif /* OpenSOAP_Transport_H */

Generated on Mon Dec 1 19:54:57 2003 for OpenSOAP by doxygen 1.3.3