diff options
Diffstat (limited to 'src/game/IRCSock.cpp')
-rw-r--r-- | src/game/IRCSock.cpp | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/src/game/IRCSock.cpp b/src/game/IRCSock.cpp deleted file mode 100644 index cf76161cc02..00000000000 --- a/src/game/IRCSock.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#include "IRCClient.h"
-#define MAXDATASIZE 512
-#include <fcntl.h>
-
-#include <stdio.h>
-#include <sys/types.h>
-
-
-#define _UNICODE
-
-#ifdef _MBCS
-#undef _MBCS
-#endif
-
-bool IRCClient::InitSock()
-{
- #ifdef _WIN32
- WSADATA wsaData; //WSAData
- if(WSAStartup(MAKEWORD(2,0),&wsaData) != 0)
- {
- sLog.outError("IRC Error: Winsock Initialization Error");
- return false;
- }
- #endif
- if ((sIRC.SOCKET = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1)
- {
- sLog.outError("IRC Error: Socket Error");
- return false;
- }
- int on = 1;
- if ( setsockopt ( sIRC.SOCKET, SOL_SOCKET, SO_REUSEADDR, ( const char* ) &on, sizeof ( on ) ) == -1 )
- {
- sLog.outError("IRC Error: Invalid Socket");
- return false;
- }
- #ifdef _WIN32
- u_long iMode = 0;
- ioctlsocket(sIRC.SOCKET, FIONBIO, &iMode);
- #else
- fcntl(sIRC.SOCKET, F_SETFL, O_NONBLOCK); // set to non-blocking
- fcntl(sIRC.SOCKET, F_SETFL, O_ASYNC); // set to asynchronous I/O
- #endif
- return true;
-}
-
-bool IRCClient::Connect(const char *cHost, int nPort)
-{
- sIRC.Connected = false;
- struct hostent *he;
- if ((he=gethostbyname(cHost)) == NULL)
- {
- sLog.outError("IRCLIENT: Could not resolve host: %s", cHost);
- return false;
- }
- struct sockaddr_in their_addr;
- their_addr.sin_family = AF_INET;
- their_addr.sin_port = htons(nPort);
- their_addr.sin_addr = *((struct in_addr *)he->h_addr);
- memset(&(their_addr.sin_zero), '\0', 8);
- if (::connect(sIRC.SOCKET, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1)
- {
- sLog.outError("IRCLIENT: Cannot connect to %s", cHost);
- return false;
- }
- //FD_ZERO(&sIRC.sfdset);
- //FD_SET(sIRC.SOCKET,&sIRC.sfdset);
- sIRC.Connected = true;
- return true;
-}
-
-bool IRCClient::Login(std::string sNick, std::string sUser, std::string sPass)
-{
- char hostname[128];
- gethostname(hostname, sizeof(hostname));
- if(SendIRC("HELLO"))
- if(SendIRC("PASS " + sPass))
- if(SendIRC("NICK " + sNick))
- if(SendIRC("USER " + sUser + " " + (std::string)hostname + " MangChat :MangChat "+sIRC._Mver.c_str()))
- return true;
- return false;
-}
-
-bool IRCClient::SendData(const char *data)
-{
- if(sIRC.Connected)
- {
- if (send(sIRC.SOCKET, data, strlen(data), 0) == -1)
- {
- sLog.outError("IRC Error: Socket Receieve ** \n");
- //Disconnect();
- return false;
- }
- }
- return true;
-}
-
-bool IRCClient::SendIRC(std::string data)
-{
- std::string RealData = data + "\n";
- return SendData(RealData.c_str());
-}
-
-void IRCClient::Disconnect()
-{
- if(sIRC.SOCKET)
- {
- #ifdef _WIN32
- closesocket(sIRC.SOCKET);
- //WSACleanup();
- #else
- close(sIRC.SOCKET);
- #endif
- }
-}
-
-void IRCClient::SockRecv()
-{
-// wchar_t bufferdata;
-
- char szBuffer[MAXDATASIZE];
-
- memset(szBuffer, 0, MAXDATASIZE );
-
- int nBytesRecv = ::recv(sIRC.SOCKET, szBuffer, MAXDATASIZE - 1, 0 );
- if ( nBytesRecv == -1 )
- {
- sLog.outError("Connection lost.");
- sIRC.Connected = false;
- }
- else
- {
- if (-1 == nBytesRecv)
- {
- sLog.outError("Error occurred while receiving from socket.");
- }
- else
- {
- std::string reply;
- std::istringstream iss(szBuffer);
- while(getline(iss, reply))
- {
- Handle_IRC(reply);
- }
- }
- }
-}
|