aboutsummaryrefslogtreecommitdiffstats
path: root/lib/iowatch.cc
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2001-03-01 00:22:23 +0000
committerFritz Elfert <felfert@to.com>2001-03-01 00:22:23 +0000
commit75007da068aac10fed90fc5234ab2d50deed3e61 (patch)
treebe0a8ebba9bad4ccab4600c60d9e7fcc21dc7837 /lib/iowatch.cc
parentd8ae774198cf180fcaa4a2512dd94b4dbfdfd72d (diff)
downloadplptools-75007da068aac10fed90fc5234ab2d50deed3e61.tar.gz
plptools-75007da068aac10fed90fc5234ab2d50deed3e61.tar.bz2
plptools-75007da068aac10fed90fc5234ab2d50deed3e61.zip
Modified icons.
Started NLS support. Added kpsion KDE2 application. Unified file-headers.
Diffstat (limited to 'lib/iowatch.cc')
-rw-r--r--lib/iowatch.cc110
1 files changed, 59 insertions, 51 deletions
diff --git a/lib/iowatch.cc b/lib/iowatch.cc
index e3c86fc..50c03a6 100644
--- a/lib/iowatch.cc
+++ b/lib/iowatch.cc
@@ -1,24 +1,26 @@
-//
-// PLP - An implementation of the PSION link protocol
-//
-// Copyright (C) 1999 Philip Proudman
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// e-mail philip.proudman@btinternet.com
-
+/*-*-c++-*-
+ * $Id$
+ *
+ * This file is part of plptools.
+ *
+ * Copyright (C) 1999 Philip Proudman <philip.proudman@btinternet.com>
+ * Copyright (C) 2000, 2001 Fritz Elfert <felfert@to.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
#include <unistd.h>
#include <stdio.h>
#include <sys/time.h>
@@ -29,46 +31,52 @@
#include "iowatch.h"
IOWatch::IOWatch() {
- num = 0;
- io = new int [FD_SETSIZE];
+ num = 0;
+ io = new int [FD_SETSIZE];
}
IOWatch::~IOWatch() {
- delete [] io;
+ delete [] io;
}
void IOWatch::addIO(const int fd) {
- int pos;
- for (pos = 0; pos < num && fd < io[pos]; pos++);
- if (io[pos] == fd)
- return;
- for (int i = num; i > pos; i--)
- io[i] = io[i-1];
- io[pos] = fd;
- num++;
+ int pos;
+ for (pos = 0; pos < num && fd < io[pos]; pos++);
+ if (io[pos] == fd)
+ return;
+ for (int i = num; i > pos; i--)
+ io[i] = io[i-1];
+ io[pos] = fd;
+ num++;
}
void IOWatch::remIO(const int fd) {
- int pos;
- for (pos = 0; pos < num && fd != io[pos]; pos++);
- if (pos != num) {
- num--;
- for (int i = pos; i <num; i++) io[i] = io[i+1];
- }
+ int pos;
+ for (pos = 0; pos < num && fd != io[pos]; pos++);
+ if (pos != num) {
+ num--;
+ for (int i = pos; i <num; i++) io[i] = io[i+1];
+ }
}
bool IOWatch::watch(const long secs, const long usecs) {
- if (num > 0) {
- fd_set iop;
- FD_ZERO(&iop);
- for (int i = 0; i < num; i++)
- FD_SET(io[i], &iop);
- struct timeval t;
- t.tv_usec = usecs;
- t.tv_sec = secs;
- return (select(io[0]+1, &iop, NULL, NULL, &t) > 0);
- }
- sleep(secs);
- usleep(usecs);
- return false;
+ if (num > 0) {
+ fd_set iop;
+ FD_ZERO(&iop);
+ for (int i = 0; i < num; i++)
+ FD_SET(io[i], &iop);
+ struct timeval t;
+ t.tv_usec = usecs;
+ t.tv_sec = secs;
+ return (select(io[0]+1, &iop, NULL, NULL, &t) > 0);
+ }
+ sleep(secs);
+ usleep(usecs);
+ return false;
}
+
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * End:
+ */