if (writebuffer.empty())
{
int wasconnected=(mystate==Connection) || (mystate==Closing);
- delete rsn;
rsn=0;
::close(socketdesc);
socketdesc=-1;
readyRead_();
}
-eString eSocket::readLine()
+std::string eSocket::readLine()
{
int size=readbuffer.searchchr('\n');
if (size == -1)
- return eString();
+ return std::string();
size++; // ich will auch das \n
char buffer[size+1];
buffer[size]=0;
readbuffer.read(buffer, size);
- return eString(buffer);
+ return std::string(buffer);
}
bool eSocket::canReadLine()
fcntl(socketdesc, F_SETFL, O_NONBLOCK);
last_break = 0xFFFFFFFF;
- if (rsn)
- delete rsn;
- rsn=new eSocketNotifier(ml, getDescriptor(),
+ rsn = 0;
+ rsn=eSocketNotifier::create(ml, getDescriptor(),
eSocketNotifier::Read|eSocketNotifier::Hungup);
CONNECT(rsn->activated, eSocket::notifier);
return 0;
return socketdesc;
}
-int eSocket::connectToHost(eString hostname, int port)
+int eSocket::connectToHost(std::string hostname, int port)
{
struct hostent *server;
int res;
eSocket::eSocket(eMainloop *ml): readbuffer(32768), writebuffer(32768), rsn(0)
{
+ ASSERT(ml);
int s=socket(AF_INET, SOCK_STREAM, 0);
#if 0
eDebug("[SOCKET]: initalized socket %d", socketdesc);
setSocket(s, 1, ml);
}
-eSocket::eSocket(int socket, int issocket, eMainloop *ml): readbuffer(32768), writebuffer(32768), rsn(0)
+eSocket::eSocket(int socket, int issocket, eMainloop *ml): readbuffer(32768), writebuffer(32768)
{
setSocket(socket, issocket, ml);
mystate=Connection;
eSocket::~eSocket()
{
- if (rsn)
- delete rsn;
if(socketdesc>=0)
{
::close(socketdesc);