From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- noatun/modules/net/net.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 noatun/modules/net/net.cpp (limited to 'noatun/modules/net/net.cpp') diff --git a/noatun/modules/net/net.cpp b/noatun/modules/net/net.cpp new file mode 100644 index 00000000..5e3ba707 --- /dev/null +++ b/noatun/modules/net/net.cpp @@ -0,0 +1,57 @@ +#include "net.h" +#include +#include + +extern "C" +{ + KDE_EXPORT Plugin *create_plugin() + { + return new Net(); + } +} + + +Net::Net() : QServerSocket(7539, 10), Plugin() +{ + mFDs.setAutoDelete(true); + connect(napp->player(), SIGNAL(newSong()), SLOT(newSong())); +} + +Net::~Net() +{ +} + + +void Net::newConnection(int fd) +{ + QSocket *s=new QSocket; + s->setSocket(fd); + mFDs.append(s); +} + +void Net::newSong() +{ + if (!napp->player()->current()) + return; + + for (QSocket *i=mFDs.first(); i!=0; i=mFDs.next()) + { + QCString line; + line=napp->player()->current().title().latin1(); + line+='\n'; + ::write(i->socket(), (const void*)line.data(), line.length()); + } +} + +void Net::closed() +{ + for (QSocket *i=mFDs.first(); i!=0; i=mFDs.next()) + { + if (sender()==i) + mFDs.removeRef(i); + } +} + + + +#include "net.moc" -- cgit v1.2.1