1 //******************************************************************************
2 //  Copyright (c) 2005-2013 by Jan Van hijfte
3 //
4 //  See the included file COPYING.TXT for details about the copyright.
5 //
6 //  This program is distributed in the hope that it will be useful,
7 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
8 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 //******************************************************************************
10 
11 
12 #include "qsslsocket_c.h"
13 
QSslSocket_Create(QObjectH parent)14 QSslSocketH QSslSocket_Create(QObjectH parent)
15 {
16 	return (QSslSocketH) new QSslSocket((QObject*)parent);
17 }
18 
QSslSocket_Destroy(QSslSocketH handle)19 void QSslSocket_Destroy(QSslSocketH handle)
20 {
21 	delete (QSslSocket *)handle;
22 }
23 
QSslSocket_resume(QSslSocketH handle)24 void QSslSocket_resume(QSslSocketH handle)
25 {
26 	((QSslSocket *)handle)->resume();
27 }
28 
QSslSocket_connectToHostEncrypted(QSslSocketH handle,PWideString hostName,quint16 port,unsigned int mode,QAbstractSocket::NetworkLayerProtocol protocol)29 void QSslSocket_connectToHostEncrypted(QSslSocketH handle, PWideString hostName, quint16 port, unsigned int mode, QAbstractSocket::NetworkLayerProtocol protocol)
30 {
31 	QString t_hostName;
32 	copyPWideStringToQString(hostName, t_hostName);
33 	((QSslSocket *)handle)->connectToHostEncrypted(t_hostName, port, (QIODevice::OpenMode)mode, protocol);
34 }
35 
QSslSocket_connectToHostEncrypted2(QSslSocketH handle,PWideString hostName,quint16 port,PWideString sslPeerName,unsigned int mode,QAbstractSocket::NetworkLayerProtocol protocol)36 void QSslSocket_connectToHostEncrypted2(QSslSocketH handle, PWideString hostName, quint16 port, PWideString sslPeerName, unsigned int mode, QAbstractSocket::NetworkLayerProtocol protocol)
37 {
38 	QString t_hostName;
39 	QString t_sslPeerName;
40 	copyPWideStringToQString(hostName, t_hostName);
41 	copyPWideStringToQString(sslPeerName, t_sslPeerName);
42 	((QSslSocket *)handle)->connectToHostEncrypted(t_hostName, port, t_sslPeerName, (QIODevice::OpenMode)mode, protocol);
43 }
44 
QSslSocket_connectToHost(QSslSocketH handle,PWideString hostName,quint16 port,unsigned int openMode,QAbstractSocket::NetworkLayerProtocol protocol)45 void QSslSocket_connectToHost(QSslSocketH handle, PWideString hostName, quint16 port, unsigned int openMode, QAbstractSocket::NetworkLayerProtocol protocol)
46 {
47 	QString t_hostName;
48 	copyPWideStringToQString(hostName, t_hostName);
49 	((QSslSocket *)handle)->connectToHost(t_hostName, port, (QIODevice::OpenMode)openMode, protocol);
50 }
51 
QSslSocket_disconnectFromHost(QSslSocketH handle)52 void QSslSocket_disconnectFromHost(QSslSocketH handle)
53 {
54 	((QSslSocket *)handle)->disconnectFromHost();
55 }
56 
QSslSocket_setSocketOption(QSslSocketH handle,QAbstractSocket::SocketOption option,const QVariantH value)57 void QSslSocket_setSocketOption(QSslSocketH handle, QAbstractSocket::SocketOption option, const QVariantH value)
58 {
59 	((QSslSocket *)handle)->setSocketOption(option, *(const QVariant*)value);
60 }
61 
QSslSocket_socketOption(QSslSocketH handle,QVariantH retval,QAbstractSocket::SocketOption option)62 void QSslSocket_socketOption(QSslSocketH handle, QVariantH retval, QAbstractSocket::SocketOption option)
63 {
64 	*(QVariant *)retval = ((QSslSocket *)handle)->socketOption(option);
65 }
66 
QSslSocket_mode(QSslSocketH handle)67 QSslSocket::SslMode QSslSocket_mode(QSslSocketH handle)
68 {
69 	return (QSslSocket::SslMode) ((QSslSocket *)handle)->mode();
70 }
71 
QSslSocket_isEncrypted(QSslSocketH handle)72 bool QSslSocket_isEncrypted(QSslSocketH handle)
73 {
74 	return (bool) ((QSslSocket *)handle)->isEncrypted();
75 }
76 
QSslSocket_protocol(QSslSocketH handle)77 QSsl::SslProtocol QSslSocket_protocol(QSslSocketH handle)
78 {
79 	return (QSsl::SslProtocol) ((QSslSocket *)handle)->protocol();
80 }
81 
QSslSocket_setProtocol(QSslSocketH handle,QSsl::SslProtocol protocol)82 void QSslSocket_setProtocol(QSslSocketH handle, QSsl::SslProtocol protocol)
83 {
84 	((QSslSocket *)handle)->setProtocol(protocol);
85 }
86 
QSslSocket_peerVerifyMode(QSslSocketH handle)87 QSslSocket::PeerVerifyMode QSslSocket_peerVerifyMode(QSslSocketH handle)
88 {
89 	return (QSslSocket::PeerVerifyMode) ((QSslSocket *)handle)->peerVerifyMode();
90 }
91 
QSslSocket_setPeerVerifyMode(QSslSocketH handle,QSslSocket::PeerVerifyMode mode)92 void QSslSocket_setPeerVerifyMode(QSslSocketH handle, QSslSocket::PeerVerifyMode mode)
93 {
94 	((QSslSocket *)handle)->setPeerVerifyMode(mode);
95 }
96 
QSslSocket_peerVerifyDepth(QSslSocketH handle)97 int QSslSocket_peerVerifyDepth(QSslSocketH handle)
98 {
99 	return (int) ((QSslSocket *)handle)->peerVerifyDepth();
100 }
101 
QSslSocket_setPeerVerifyDepth(QSslSocketH handle,int depth)102 void QSslSocket_setPeerVerifyDepth(QSslSocketH handle, int depth)
103 {
104 	((QSslSocket *)handle)->setPeerVerifyDepth(depth);
105 }
106 
QSslSocket_peerVerifyName(QSslSocketH handle,PWideString retval)107 void QSslSocket_peerVerifyName(QSslSocketH handle, PWideString retval)
108 {
109 	QString t_retval;
110 	t_retval = ((QSslSocket *)handle)->peerVerifyName();
111 	copyQStringToPWideString(t_retval, retval);
112 }
113 
QSslSocket_setPeerVerifyName(QSslSocketH handle,PWideString hostName)114 void QSslSocket_setPeerVerifyName(QSslSocketH handle, PWideString hostName)
115 {
116 	QString t_hostName;
117 	copyPWideStringToQString(hostName, t_hostName);
118 	((QSslSocket *)handle)->setPeerVerifyName(t_hostName);
119 }
120 
QSslSocket_bytesAvailable(QSslSocketH handle)121 qint64 QSslSocket_bytesAvailable(QSslSocketH handle)
122 {
123 	return (qint64) ((QSslSocket *)handle)->bytesAvailable();
124 }
125 
QSslSocket_bytesToWrite(QSslSocketH handle)126 qint64 QSslSocket_bytesToWrite(QSslSocketH handle)
127 {
128 	return (qint64) ((QSslSocket *)handle)->bytesToWrite();
129 }
130 
QSslSocket_canReadLine(QSslSocketH handle)131 bool QSslSocket_canReadLine(QSslSocketH handle)
132 {
133 	return (bool) ((QSslSocket *)handle)->canReadLine();
134 }
135 
QSslSocket_close(QSslSocketH handle)136 void QSslSocket_close(QSslSocketH handle)
137 {
138 	((QSslSocket *)handle)->close();
139 }
140 
QSslSocket_atEnd(QSslSocketH handle)141 bool QSslSocket_atEnd(QSslSocketH handle)
142 {
143 	return (bool) ((QSslSocket *)handle)->atEnd();
144 }
145 
QSslSocket_flush(QSslSocketH handle)146 bool QSslSocket_flush(QSslSocketH handle)
147 {
148 	return (bool) ((QSslSocket *)handle)->flush();
149 }
150 
QSslSocket_abort(QSslSocketH handle)151 void QSslSocket_abort(QSslSocketH handle)
152 {
153 	((QSslSocket *)handle)->abort();
154 }
155 
QSslSocket_setReadBufferSize(QSslSocketH handle,qint64 size)156 void QSslSocket_setReadBufferSize(QSslSocketH handle, qint64 size)
157 {
158 	((QSslSocket *)handle)->setReadBufferSize(size);
159 }
160 
QSslSocket_encryptedBytesAvailable(QSslSocketH handle)161 qint64 QSslSocket_encryptedBytesAvailable(QSslSocketH handle)
162 {
163 	return (qint64) ((QSslSocket *)handle)->encryptedBytesAvailable();
164 }
165 
QSslSocket_encryptedBytesToWrite(QSslSocketH handle)166 qint64 QSslSocket_encryptedBytesToWrite(QSslSocketH handle)
167 {
168 	return (qint64) ((QSslSocket *)handle)->encryptedBytesToWrite();
169 }
170 
QSslSocket_sslConfiguration(QSslSocketH handle,QSslConfigurationH retval)171 void QSslSocket_sslConfiguration(QSslSocketH handle, QSslConfigurationH retval)
172 {
173 	*(QSslConfiguration *)retval = ((QSslSocket *)handle)->sslConfiguration();
174 }
175 
QSslSocket_setSslConfiguration(QSslSocketH handle,const QSslConfigurationH config)176 void QSslSocket_setSslConfiguration(QSslSocketH handle, const QSslConfigurationH config)
177 {
178 	((QSslSocket *)handle)->setSslConfiguration(*(const QSslConfiguration*)config);
179 }
180 
QSslSocket_setLocalCertificate(QSslSocketH handle,const QSslCertificateH certificate)181 void QSslSocket_setLocalCertificate(QSslSocketH handle, const QSslCertificateH certificate)
182 {
183 	((QSslSocket *)handle)->setLocalCertificate(*(const QSslCertificate*)certificate);
184 }
185 
QSslSocket_setLocalCertificate2(QSslSocketH handle,PWideString fileName,QSsl::EncodingFormat format)186 void QSslSocket_setLocalCertificate2(QSslSocketH handle, PWideString fileName, QSsl::EncodingFormat format)
187 {
188 	QString t_fileName;
189 	copyPWideStringToQString(fileName, t_fileName);
190 	((QSslSocket *)handle)->setLocalCertificate(t_fileName, format);
191 }
192 
QSslSocket_localCertificate(QSslSocketH handle,QSslCertificateH retval)193 void QSslSocket_localCertificate(QSslSocketH handle, QSslCertificateH retval)
194 {
195 	*(QSslCertificate *)retval = ((QSslSocket *)handle)->localCertificate();
196 }
197 
QSslSocket_peerCertificate(QSslSocketH handle,QSslCertificateH retval)198 void QSslSocket_peerCertificate(QSslSocketH handle, QSslCertificateH retval)
199 {
200 	*(QSslCertificate *)retval = ((QSslSocket *)handle)->peerCertificate();
201 }
202 
QSslSocket_sessionCipher(QSslSocketH handle,QSslCipherH retval)203 void QSslSocket_sessionCipher(QSslSocketH handle, QSslCipherH retval)
204 {
205 	*(QSslCipher *)retval = ((QSslSocket *)handle)->sessionCipher();
206 }
207 
QSslSocket_setPrivateKey(QSslSocketH handle,const QSslKeyH key)208 void QSslSocket_setPrivateKey(QSslSocketH handle, const QSslKeyH key)
209 {
210 	((QSslSocket *)handle)->setPrivateKey(*(const QSslKey*)key);
211 }
212 
QSslSocket_setPrivateKey2(QSslSocketH handle,PWideString fileName,QSsl::KeyAlgorithm algorithm,QSsl::EncodingFormat format,const QByteArrayH passPhrase)213 void QSslSocket_setPrivateKey2(QSslSocketH handle, PWideString fileName, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat format, const QByteArrayH passPhrase)
214 {
215 	QString t_fileName;
216 	copyPWideStringToQString(fileName, t_fileName);
217 	((QSslSocket *)handle)->setPrivateKey(t_fileName, algorithm, format, *(const QByteArray*)passPhrase);
218 }
219 
QSslSocket_privateKey(QSslSocketH handle,QSslKeyH retval)220 void QSslSocket_privateKey(QSslSocketH handle, QSslKeyH retval)
221 {
222 	*(QSslKey *)retval = ((QSslSocket *)handle)->privateKey();
223 }
224 
QSslSocket_setCiphers(QSslSocketH handle,PWideString ciphers)225 void QSslSocket_setCiphers(QSslSocketH handle, PWideString ciphers)
226 {
227 	QString t_ciphers;
228 	copyPWideStringToQString(ciphers, t_ciphers);
229 	((QSslSocket *)handle)->setCiphers(t_ciphers);
230 }
231 
QSslSocket_addCaCertificate(QSslSocketH handle,const QSslCertificateH certificate)232 void QSslSocket_addCaCertificate(QSslSocketH handle, const QSslCertificateH certificate)
233 {
234 	((QSslSocket *)handle)->addCaCertificate(*(const QSslCertificate*)certificate);
235 }
236 
QSslSocket_addDefaultCaCertificate(const QSslCertificateH certificate)237 void QSslSocket_addDefaultCaCertificate(const QSslCertificateH certificate)
238 {
239 	QSslSocket::addDefaultCaCertificate(*(const QSslCertificate*)certificate);
240 }
241 
QSslSocket_waitForConnected(QSslSocketH handle,int msecs)242 bool QSslSocket_waitForConnected(QSslSocketH handle, int msecs)
243 {
244 	return (bool) ((QSslSocket *)handle)->waitForConnected(msecs);
245 }
246 
QSslSocket_waitForEncrypted(QSslSocketH handle,int msecs)247 bool QSslSocket_waitForEncrypted(QSslSocketH handle, int msecs)
248 {
249 	return (bool) ((QSslSocket *)handle)->waitForEncrypted(msecs);
250 }
251 
QSslSocket_waitForReadyRead(QSslSocketH handle,int msecs)252 bool QSslSocket_waitForReadyRead(QSslSocketH handle, int msecs)
253 {
254 	return (bool) ((QSslSocket *)handle)->waitForReadyRead(msecs);
255 }
256 
QSslSocket_waitForBytesWritten(QSslSocketH handle,int msecs)257 bool QSslSocket_waitForBytesWritten(QSslSocketH handle, int msecs)
258 {
259 	return (bool) ((QSslSocket *)handle)->waitForBytesWritten(msecs);
260 }
261 
QSslSocket_waitForDisconnected(QSslSocketH handle,int msecs)262 bool QSslSocket_waitForDisconnected(QSslSocketH handle, int msecs)
263 {
264 	return (bool) ((QSslSocket *)handle)->waitForDisconnected(msecs);
265 }
266 
QSslSocket_supportsSsl()267 bool QSslSocket_supportsSsl()
268 {
269 	return (bool) QSslSocket::supportsSsl();
270 }
271 
QSslSocket_sslLibraryVersionNumber()272 long QSslSocket_sslLibraryVersionNumber()
273 {
274 	return (long) QSslSocket::sslLibraryVersionNumber();
275 }
276 
QSslSocket_sslLibraryVersionString(PWideString retval)277 void QSslSocket_sslLibraryVersionString(PWideString retval)
278 {
279 	QString t_retval;
280 	t_retval = QSslSocket::sslLibraryVersionString();
281 	copyQStringToPWideString(t_retval, retval);
282 }
283 
QSslSocket_startClientEncryption(QSslSocketH handle)284 void QSslSocket_startClientEncryption(QSslSocketH handle)
285 {
286 	((QSslSocket *)handle)->startClientEncryption();
287 }
288 
QSslSocket_startServerEncryption(QSslSocketH handle)289 void QSslSocket_startServerEncryption(QSslSocketH handle)
290 {
291 	((QSslSocket *)handle)->startServerEncryption();
292 }
293 
QSslSocket_ignoreSslErrors(QSslSocketH handle)294 void QSslSocket_ignoreSslErrors(QSslSocketH handle)
295 {
296 	((QSslSocket *)handle)->ignoreSslErrors();
297 }
298 
299