summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-06-17 13:47:42 (UTC)
committer mickeyl <mickeyl>2005-06-17 13:47:42 (UTC)
commitc36e39b5b1e450e64d4c38cb59e56048a2bec258 (patch) (unidiff)
tree0e796a165a2e4ce8e24b8b79f15bb58f4265a7bb
parent0e11eb29a20ff6bff533a07ff604ed858237f82b (diff)
downloadopie-c36e39b5b1e450e64d4c38cb59e56048a2bec258.zip
opie-c36e39b5b1e450e64d4c38cb59e56048a2bec258.tar.gz
opie-c36e39b5b1e450e64d4c38cb59e56048a2bec258.tar.bz2
- disable DEBUG in opcmciasystem
- fix suspend/resume logic
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/linux/opcmciasystem.cpp12
-rw-r--r--noncore/applets/pcmcia/pcmcia.cpp9
2 files changed, 11 insertions, 10 deletions
diff --git a/libopie2/opiecore/linux/opcmciasystem.cpp b/libopie2/opiecore/linux/opcmciasystem.cpp
index 2eece6b..054d261 100644
--- a/libopie2/opiecore/linux/opcmciasystem.cpp
+++ b/libopie2/opiecore/linux/opcmciasystem.cpp
@@ -46,13 +46,13 @@ using namespace Opie::Core;
46#include <sys/types.h> 46#include <sys/types.h>
47#include <sys/stat.h> 47#include <sys/stat.h>
48#include <unistd.h> 48#include <unistd.h>
49 49
50#define PROC_DEVICES "/proc/devices" 50#define PROC_DEVICES "/proc/devices"
51 51
52#define OPCMCIA_DEBUG 1 52// #define OPCMCIA_DEBUG 1
53 53
54/*====================================================================================== 54/*======================================================================================
55 * OPcmciaSystem 55 * OPcmciaSystem
56 *======================================================================================*/ 56 *======================================================================================*/
57 57
58OPcmciaSystem* OPcmciaSystem::_instance = 0; 58OPcmciaSystem* OPcmciaSystem::_instance = 0;
@@ -302,37 +302,37 @@ bool OPcmciaSocket::isSuspended() const
302 return status() && Suspended; 302 return status() && Suspended;
303} 303}
304 304
305 305
306bool OPcmciaSocket::eject() 306bool OPcmciaSocket::eject()
307{ 307{
308 return ::ioctl( _fd, DS_EJECT_CARD ); 308 return ::ioctl( _fd, DS_EJECT_CARD ) != -1;
309} 309}
310 310
311 311
312bool OPcmciaSocket::insert() 312bool OPcmciaSocket::insert()
313{ 313{
314 return ::ioctl( _fd, DS_INSERT_CARD ); 314 return ::ioctl( _fd, DS_INSERT_CARD ) != -1;
315} 315}
316 316
317 317
318bool OPcmciaSocket::suspend() 318bool OPcmciaSocket::suspend()
319{ 319{
320 return ::ioctl( _fd, DS_SUSPEND_CARD ); 320 return ::ioctl( _fd, DS_SUSPEND_CARD ) != -1;
321} 321}
322 322
323 323
324bool OPcmciaSocket::resume() 324bool OPcmciaSocket::resume()
325{ 325{
326 return ::ioctl( _fd, DS_RESUME_CARD ); 326 return ::ioctl( _fd, DS_RESUME_CARD ) != -1;
327} 327}
328 328
329 329
330bool OPcmciaSocket::reset() 330bool OPcmciaSocket::reset()
331{ 331{
332 return ::ioctl( _fd, DS_RESET_CARD ); 332 return ::ioctl( _fd, DS_RESET_CARD ) != -1;
333} 333}
334 334
335 335
336QStringList OPcmciaSocket::productIdentity() const 336QStringList OPcmciaSocket::productIdentity() const
337{ 337{
338 QStringList list; 338 QStringList list;
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp
index aea699f..99c1bc9 100644
--- a/noncore/applets/pcmcia/pcmcia.cpp
+++ b/noncore/applets/pcmcia/pcmcia.cpp
@@ -54,12 +54,13 @@ using namespace Opie::Ui;
54 54
55/* STD */ 55/* STD */
56#include <stdio.h> 56#include <stdio.h>
57#include <unistd.h> 57#include <unistd.h>
58#include <stdlib.h> 58#include <stdlib.h>
59#include <string.h> 59#include <string.h>
60#include <errno.h>
60#include <fcntl.h> 61#include <fcntl.h>
61#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 62#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
62#include <sys/vfs.h> 63#include <sys/vfs.h>
63#include <mntent.h> 64#include <mntent.h>
64#endif 65#endif
65 66
@@ -133,14 +134,14 @@ void PcmciaManager::mousePressEvent( QMouseEvent* )
133 submenu->insertItem( "&Resume", RESUME+i*100 ); 134 submenu->insertItem( "&Resume", RESUME+i*100 );
134 submenu->insertItem( "Rese&t", RESET+i*100 ); 135 submenu->insertItem( "Rese&t", RESET+i*100 );
135 submenu->insertItem( "&Configure", CONFIGURE+i*100 ); 136 submenu->insertItem( "&Configure", CONFIGURE+i*100 );
136 137
137 submenu->setItemEnabled( EJECT+i*100, !it.current()->isEmpty() ); 138 submenu->setItemEnabled( EJECT+i*100, !it.current()->isEmpty() );
138 submenu->setItemEnabled( INSERT+i*100, it.current()->isEmpty() ); 139 submenu->setItemEnabled( INSERT+i*100, it.current()->isEmpty() );
139 submenu->setItemEnabled( SUSPEND+i*100, !it.current()->isEmpty() && !it.current()->isSuspended() ); 140 submenu->setItemEnabled( SUSPEND+i*100, !it.current()->isEmpty() && it.current()->isSuspended() );
140 submenu->setItemEnabled( RESUME+i*100, !it.current()->isEmpty() && it.current()->isSuspended() ); 141 submenu->setItemEnabled( RESUME+i*100, !it.current()->isEmpty() && !it.current()->isSuspended() );
141 submenu->setItemEnabled( CONFIGURE+i*100, !it.current()->isEmpty() && !configuring ); 142 submenu->setItemEnabled( CONFIGURE+i*100, !it.current()->isEmpty() && !configuring );
142 143
143 connect( submenu, SIGNAL(activated(int)), this, SLOT(userCardAction(int)) ); 144 connect( submenu, SIGNAL(activated(int)), this, SLOT(userCardAction(int)) );
144 menu->insertItem( tr( "%1: %2" ).arg( i++ ).arg( it.current()->identity() ), submenu, 1 ); 145 menu->insertItem( tr( "%1: %2" ).arg( i++ ).arg( it.current()->identity() ), submenu, 1 );
145 ++it; 146 ++it;
146 } 147 }
@@ -256,13 +257,13 @@ int PcmciaManager::position()
256void PcmciaManager::execCommand( const QStringList &strList ) 257void PcmciaManager::execCommand( const QStringList &strList )
257{ 258{
258} 259}
259 260
260void PcmciaManager::userCardAction( int action ) 261void PcmciaManager::userCardAction( int action )
261{ 262{
262 odebug << "user action requested. action = " << action << oendl; 263 odebug << "user action on socket " << action / 100 << " requested. action = " << action << oendl;
263 264
264 int socket = action / 100; 265 int socket = action / 100;
265 int what = action % 100; 266 int what = action % 100;
266 bool success = false; 267 bool success = false;
267 268
268 switch ( what ) 269 switch ( what )
@@ -275,13 +276,13 @@ void PcmciaManager::userCardAction( int action )
275 case RESET: success = OPcmciaSystem::instance()->socket( socket )->reset(); break; 276 case RESET: success = OPcmciaSystem::instance()->socket( socket )->reset(); break;
276 default: odebug << "not yet implemented" << oendl; 277 default: odebug << "not yet implemented" << oendl;
277 } 278 }
278 279
279 if ( !success ) 280 if ( !success )
280 { 281 {
281 owarn << "couldn't perform user action" << oendl; 282 owarn << "couldn't perform user action (" << strerror( errno ) << ")" << oendl;
282 } 283 }
283 284
284} 285}
285 286
286void PcmciaManager::configure( OPcmciaSocket* card ) 287void PcmciaManager::configure( OPcmciaSocket* card )
287{ 288{