diff options
Diffstat (limited to 'plugins/FavContacts/src/cserver.cpp')
-rw-r--r-- | plugins/FavContacts/src/cserver.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/plugins/FavContacts/src/cserver.cpp b/plugins/FavContacts/src/cserver.cpp deleted file mode 100644 index 881f84cec2..0000000000 --- a/plugins/FavContacts/src/cserver.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "headers.h"
-
-void CServer::Start(int port, IConnectionProcessorFactory *connectionProcessorFactory, bool background)
-{
- m_socket = socket(AF_INET, SOCK_STREAM, 0);
- if (m_socket == INVALID_SOCKET) return;
-
- sockaddr_in addr = { 0 };
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
- addr.sin_port = htons((WORD)port);
- if (bind(m_socket, (sockaddr *)&addr, sizeof(addr)) == SOCKET_ERROR) {
- closesocket(m_socket);
- m_socket = INVALID_SOCKET;
- return;
- }
-
- listen(m_socket, SOMAXCONN);
-
- m_connectionProcessorFactory = connectionProcessorFactory;
-
- if (background)
- mir_forkthread(GlobalConnectionAcceptThread, this);
- else
- ConnectionAcceptThread();
-}
-
-void CServer::Stop()
-{
- shutdown(m_socket, SD_BOTH);
- closesocket(m_socket);
-}
-
-DWORD CServer::ConnectionAcceptThread()
-{
- while (1) {
- SOCKET s = accept(m_socket, NULL, NULL);
- if (s == INVALID_SOCKET) break;
-
- mir_forkthread(GlobalConnectionProcessThread, new GlobalConnectionProcessThreadArgs(this, s));
- }
- return 0;
-}
-
-DWORD CServer::ConnectionProcessThread(SOCKET s)
-{
- CSocket sock(s);
- IConnectionProcessor *processor = m_connectionProcessorFactory->Create(&sock);
- processor->ProcessConnection();
- delete processor;
- return 0;
-}
-
-void CServer::GlobalConnectionAcceptThread(void *arg)
-{
- CServer *server = (CServer *)arg;
- server->ConnectionAcceptThread();
-}
-
-void CServer::GlobalConnectionProcessThread(void *arg)
-{
- GlobalConnectionProcessThreadArgs *args = (GlobalConnectionProcessThreadArgs *)arg;
- args->m_server->ConnectionProcessThread(args->m_socket);
- delete args;
-}
|