You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
838 B
58 lines
838 B
#include "net.h"
|
|
#include <noatun/player.h>
|
|
#include <noatun/app.h>
|
|
|
|
extern "C"
|
|
{
|
|
KDE_EXPORT Plugin *create_plugin()
|
|
{
|
|
return new Net();
|
|
}
|
|
}
|
|
|
|
|
|
Net::Net() : TQServerSocket(7539, 10), Plugin()
|
|
{
|
|
mFDs.setAutoDelete(true);
|
|
connect(napp->player(), TQT_SIGNAL(newSong()), TQT_SLOT(newSong()));
|
|
}
|
|
|
|
Net::~Net()
|
|
{
|
|
}
|
|
|
|
|
|
void Net::newConnection(int fd)
|
|
{
|
|
TQSocket *s=new QSocket;
|
|
s->setSocket(fd);
|
|
mFDs.append(s);
|
|
}
|
|
|
|
void Net::newSong()
|
|
{
|
|
if (!napp->player()->current())
|
|
return;
|
|
|
|
for (TQSocket *i=mFDs.first(); i!=0; i=mFDs.next())
|
|
{
|
|
TQCString line;
|
|
line=napp->player()->current().title().latin1();
|
|
line+='\n';
|
|
::write(i->socket(), (const void*)line.data(), line.length());
|
|
}
|
|
}
|
|
|
|
void Net::closed()
|
|
{
|
|
for (TQSocket *i=mFDs.first(); i!=0; i=mFDs.next())
|
|
{
|
|
if (sender()==i)
|
|
mFDs.removeRef(i);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#include "net.moc"
|