/* Private static member data must be initialized in this manner */
-unsigned int ListenSocket::socketcount = 0;
-sockaddr* ListenSocket::sock_us = NULL;
-sockaddr* ListenSocket::client = NULL;
-sockaddr* ListenSocket::raddr = NULL;
+unsigned int ListenSocketBase::socketcount = 0;
+sockaddr* ListenSocketBase::sock_us = NULL;
+sockaddr* ListenSocketBase::client = NULL;
+sockaddr* ListenSocketBase::raddr = NULL;
-ListenSocket::ListenSocket(InspIRCd* Instance, int port, char* addr) : ServerInstance(Instance), desc("plaintext"), bind_addr(addr), bind_port(port)
+ListenSocketBase::ListenSocketBase(InspIRCd* Instance, int port, const std::string &addr) : ServerInstance(Instance), desc("plaintext"), bind_addr(addr), bind_port(port)
{
- this->SetFd(irc::sockets::OpenTCPSocket(addr));
+ this->SetFd(irc::sockets::OpenTCPSocket(addr.c_str()));
if (this->GetFd() > -1)
{
- if (!Instance->BindSocket(this->fd,port,addr))
+ if (!Instance->BindSocket(this->fd,port,addr.c_str()))
this->fd = -1;
#ifdef IPV6
- if ((!*addr) || (strchr(addr,':')))
+ if ((!*addr.c_str()) || (strchr(addr.c_str(),':')))
this->family = AF_INET6;
else
#endif
socketcount++;
}
-ListenSocket::~ListenSocket()
+ListenSocketBase::~ListenSocketBase()
{
if (this->GetFd() > -1)
{
}
/* Just seperated into another func for tidiness really.. */
-void ListenSocket::AcceptInternal()
+void ListenSocketBase::AcceptInternal()
{
ServerInstance->Logs->Log("SOCKET",DEBUG,"HandleEvent for Listensoket");
socklen_t uslen, length; // length of our port number
this->OnAcceptReady(target, incomingSockfd, buf);
}
-void ListenSocket::HandleEvent(EventType e, int err)
+void ListenSocketBase::HandleEvent(EventType e, int err)
{
switch (e)
{
}
}
-void ListenSocket::OnAcceptReady(const std::string &ipconnectedto, int nfd, const std::string &incomingip)
+void ClientListenSocket::OnAcceptReady(const std::string &ipconnectedto, int nfd, const std::string &incomingip)
{
- ServerInstance->Users->AddUser(ServerInstance, nfd, bind_port, false, this->family, client, ipconnectedto);
+ ServerInstance->Users->AddUser(ServerInstance, nfd, bind_port, false, this->family, client, ipconnectedto);
}