kio
kssl.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _KSSL_H
00022 #define _KSSL_H
00023
00024 #include <ksslsettings.h>
00025 #include <ksslpeerinfo.h>
00026 #include <ksslconnectioninfo.h>
00027
00028 class KSSLPrivate;
00029 class KSSLCertificate;
00030 class KSSLPKCS12;
00031 class KSSLSession;
00032
00042 class KIO_EXPORT KSSL {
00043 public:
00050 KSSL(bool init = true);
00051
00057 ~KSSL();
00058
00064 static bool doesSSLWork();
00065
00074 bool initialize();
00075
00082 bool TLSInit();
00083
00094 bool setSession(const KSSLSession *session);
00095
00099 void close();
00100
00110 bool reInitialize();
00111
00121 bool reconfig();
00122
00132 void setAutoReconfig(bool ar);
00133
00141 int seedWithEGD();
00142
00151 bool setSettings(KSSLSettings *settings);
00152
00159 KSSLSettings * settings() { return m_cfg; }
00160
00170 bool setClientCertificate(KSSLPKCS12 *pkcs);
00171
00181 void setProxyUse(bool active, QString realIP = QString::null, int realPort = 0, QString proxy = QString::null) KDE_DEPRECATED;
00182
00189 void setPeerHost(QString realHost = QString::null);
00190
00200 int connect(int sock);
00201
00211 int accept(int sock);
00212
00220 int read(void *buf, int len);
00221
00229 int peek(void *buf, int len);
00230
00239 int write(const void *buf, int len);
00240
00246 int pending();
00247
00255 KSSLConnectionInfo& connectionInfo();
00256
00264 KSSLPeerInfo& peerInfo();
00265
00275 const KSSLSession* session() const;
00276
00282 bool reusingSession() const;
00283
00284 private:
00285 static bool m_bSSLWorks;
00286 bool m_bInit;
00287 bool m_bAutoReconfig;
00288 KSSLSettings *m_cfg;
00289 KSSLConnectionInfo m_ci;
00290 KSSLPeerInfo m_pi;
00291
00292 KSSLPrivate *d;
00293
00294 void setConnectionInfo();
00295 void setPeerInfo();
00296 bool setVerificationLogic();
00297 };
00298
00299
00300 #endif
00301