Update of /cvsroot/pclasses/pclasses2/src/System
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12446/src/System
Modified Files:
Ps2Device.linux.cpp
Log Message:
adapted read() seek() and size() for Ps2Device
Index: Ps2Device.linux.cpp
===================================================================
RCS file: /cvsroot/pclasses/pclasses2/src/System/Ps2Device.linux.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Ps2Device.linux.cpp 14 Feb 2005 19:13:36 -0000 1.1
+++ Ps2Device.linux.cpp 14 Feb 2005 19:39:15 -0000 1.2
@@ -73,7 +73,19 @@
size_t Ps2Device::_read(char* buffer, size_t count) throw(IO::IOError)
{
- return _handle->read(buffer, count);
+ size_t ret = 0;
+ struct pollfd pfd[1];
+ pfd[0].fd = Device::handle();
+ pfd[0].events = POLLIN;
+
+ if( poll(pfd, 1, 800) > 0 ) {
+ ret = Device::read(buffer, count);
+ return ret;
+ } else throw IO::IOError(errno, "Could not read from device.", P_SOURCEINFO);
+
+ return ret;
+
+ //return _handle->read(buffer, count);
}
size_t Ps2Device::_peek(char* buffer, size_t count) throw(IO::IOError)
@@ -81,31 +93,29 @@
return _handle->peek(buffer, count);
}
-size_t Ps2Device::_write(const char* buffer, size_t count)
- throw(IO::IOError)
+size_t Ps2Device::_write(const char* buffer, size_t count) throw(IO::IOError)
{
return _handle->write(buffer, count);
}
-offset_t Ps2Device::_seek(offset_t offset, SeekMode mode)
- throw(IO::IOError)
+offset_t Ps2Device::_seek(offset_t offset, SeekMode mode) throw(IO::IOError)
{
- return _handle->seek(offset, mode);
+ return 0;
}
bool Ps2Device::_isSeekable() const throw()
{
- return _handle->isSeekable();
+ return false;
}
void Ps2Device::_sync() const throw(IO::IOError)
{
- _handle->sync();
+
}
offset_t Ps2Device::_size() const throw(IO::IOError)
{
- return _handle->size();
+ return 0;
}
unsigned long Ps2Device::nosHandle() const throw()
|