summaryrefslogtreecommitdiffstats
path: root/ksirc/ioLAG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ksirc/ioLAG.cpp')
-rw-r--r--ksirc/ioLAG.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/ksirc/ioLAG.cpp b/ksirc/ioLAG.cpp
new file mode 100644
index 00000000..50f3f082
--- /dev/null
+++ b/ksirc/ioLAG.cpp
@@ -0,0 +1,61 @@
+/**********************************************************************
+
+ The IO LAG Controller
+
+ $$Id$$
+
+**********************************************************************/
+
+#include "ioLAG.h"
+#include "control_message.h"
+#include "ksircprocess.h"
+
+#include <kdebug.h>
+
+KSircIOLAG::KSircIOLAG(KSircProcess *_proc)
+ : QObject(),
+ KSircMessageReceiver(_proc)
+{
+ proc = _proc;
+ setBroadcast(FALSE);
+ startTimer(30000);
+// startTimer(5000);
+//(proc->getWindowList())["!all"]->control_message(SET_LAG, "99");
+}
+
+
+KSircIOLAG::~KSircIOLAG()
+{
+ killTimers();
+}
+
+void KSircIOLAG::sirc_receive(QCString str, bool)
+{
+
+ if(str.contains("*L*")){
+ int s1, s2;
+ s1 = str.find("*L* ") + 4;
+ s2 = str.length();
+ if(s1 < 0 || s2 < 0){
+ kdDebug(5008) << "Lag mesage broken: " << str << endl;
+ return;
+ }
+ QString lag = str.mid(s1, s2 - s1);
+ // cerr << "Lag: " << str << endl;
+ // cerr << "Setting lag to: " << lag << endl;
+ (proc->getWindowList())["!all"]->control_message(SET_LAG, lag);
+ }
+
+}
+
+void KSircIOLAG::control_message(int, QString)
+{
+}
+
+void KSircIOLAG::timerEvent ( QTimerEvent * )
+{
+ QCString cmd = "/lag\n";
+ emit outputLine(cmd);
+}
+
+#include "ioLAG.moc"