123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- /*
- * Copyright: JessMA Open Source (ldcsaa@gmail.com)
- *
- * Version : 3.6.1
- * Author : Bruce Liang
- * Website : http://www.jessma.org
- * Project : https://github.com/ldcsaa
- * Blog : http://www.cnblogs.com/ldcsaa
- * Wiki : http://www.oschina.net/p/hp-socket
- * QQ Group : 75375912
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- #include "stdafx.h"
- #include "HPSocket-SSL.h"
- #include "TcpServer.h"
- #include "TcpAgent.h"
- #include "TcpClient.h"
- #include "TcpPullServer.h"
- #include "TcpPullClient.h"
- #include "TcpPullAgent.h"
- #include "TcpPackServer.h"
- #include "TcpPackClient.h"
- #include "TcpPackAgent.h"
- #include "HttpServer.h"
- #include "HttpAgent.h"
- #include "HttpClient.h"
- /*****************************************************************************************************************************************************/
- /******************************************************************** SSL Exports ********************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API ITcpServer* HP_Create_SSLServer(ITcpServerListener* pListener)
- {
- return new CSSLServer(pListener);
- }
- HPSOCKET_API ITcpAgent* HP_Create_SSLAgent(ITcpAgentListener* pListener)
- {
- return new CSSLAgent(pListener);
- }
- HPSOCKET_API ITcpClient* HP_Create_SSLClient(ITcpClientListener* pListener)
- {
- return new CSSLClient(pListener);
- }
- HPSOCKET_API ITcpPullServer* HP_Create_SSLPullServer(ITcpServerListener* pListener)
- {
- return (ITcpPullServer*)(new CSSLPullServer(pListener));
- }
- HPSOCKET_API ITcpPullAgent* HP_Create_SSLPullAgent(ITcpAgentListener* pListener)
- {
- return (ITcpPullAgent*)(new CSSLPullAgent(pListener));
- }
- HPSOCKET_API ITcpPullClient* HP_Create_SSLPullClient(ITcpClientListener* pListener)
- {
- return (ITcpPullClient*)(new CSSLPullClient(pListener));
- }
- HPSOCKET_API ITcpPackServer* HP_Create_SSLPackServer(ITcpServerListener* pListener)
- {
- return (ITcpPackServer*)(new CSSLPackServer(pListener));
- }
- HPSOCKET_API ITcpPackAgent* HP_Create_SSLPackAgent(ITcpAgentListener* pListener)
- {
- return (ITcpPackAgent*)(new CSSLPackAgent(pListener));
- }
- HPSOCKET_API ITcpPackClient* HP_Create_SSLPackClient(ITcpClientListener* pListener)
- {
- return (ITcpPackClient*)(new CSSLPackClient(pListener));
- }
- HPSOCKET_API void HP_Destroy_SSLServer(ITcpServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_SSLAgent(ITcpAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_SSLClient(ITcpClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_SSLPullServer(ITcpPullServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_SSLPullAgent(ITcpPullAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_SSLPullClient(ITcpPullClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_SSLPackServer(ITcpPackServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_SSLPackAgent(ITcpPackAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_SSLPackClient(ITcpPackClient* pClient)
- {
- delete pClient;
- }
- /*****************************************************************************************************************************************************/
- /******************************************************************** HTTPS Exports ******************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API IHttpServer* HP_Create_HttpsServer(IHttpServerListener* pListener)
- {
- return (IHttpServer*)(new CHttpsServer(pListener));
- }
- HPSOCKET_API IHttpAgent* HP_Create_HttpsAgent(IHttpAgentListener* pListener)
- {
- return (IHttpAgent*)(new CHttpsAgent(pListener));
- }
- HPSOCKET_API IHttpClient* HP_Create_HttpsClient(IHttpClientListener* pListener)
- {
- return (IHttpClient*)(new CHttpsClient(pListener));
- }
- HPSOCKET_API void HP_Destroy_HttpsServer(IHttpServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_HttpsAgent(IHttpAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_HttpsClient(IHttpClient* pClient)
- {
- delete pClient;
- }
- /*****************************************************************************************************************************************************/
- /*************************************************************** Global Function Exports *************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API BOOL HP_SSL_Initialize(EnSSLSessionMode enSessionMode, int iVerifyMode, LPCTSTR lpszPemCertFile, LPCTSTR lpszPemKeyFile, LPCTSTR lpszKeyPasswod, LPCTSTR lpszCAPemCertFileOrPath)
- {
- return g_SSL.Initialize(enSessionMode, iVerifyMode, lpszPemCertFile, lpszPemKeyFile, lpszKeyPasswod, lpszCAPemCertFileOrPath);
- }
- HPSOCKET_API void HP_SSL_Cleanup()
- {
- g_SSL.Cleanup();
- }
- HPSOCKET_API void HP_SSL_RemoveThreadLocalState(DWORD dwThreadID)
- {
- g_SSL.RemoveThreadLocalState();
- }
- HPSOCKET_API BOOL HP_SSL_IsValid()
- {
- return g_SSL.IsValid();
- }
|