summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-10-15 22:03:01 (UTC)
committer harlekin <harlekin>2002-10-15 22:03:01 (UTC)
commitce953c24f809385088905ffd02f6d6187d0a4f12 (patch) (unidiff)
tree19f10579ebd5870cf38940d624c97111ea8137b3
parent676be5604cbdb3213c00775e0ff66f4e766f8dcb (diff)
downloadopie-ce953c24f809385088905ffd02f6d6187d0a4f12.zip
opie-ce953c24f809385088905ffd02f6d6187d0a4f12.tar.gz
opie-ce953c24f809385088905ffd02f6d6187d0a4f12.tar.bz2
next isConnected try
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/MyPty.h2
-rw-r--r--noncore/apps/opie-console/default.cpp2
-rw-r--r--noncore/apps/opie-console/io_layer.h2
-rw-r--r--noncore/apps/opie-console/io_serial.cpp8
-rw-r--r--noncore/apps/opie-console/io_serial.h3
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp8
-rw-r--r--noncore/apps/opie-console/session.cpp7
-rw-r--r--noncore/apps/opie-console/session.h2
8 files changed, 19 insertions, 15 deletions
diff --git a/noncore/apps/opie-console/MyPty.h b/noncore/apps/opie-console/MyPty.h
index ad271df..81abad5 100644
--- a/noncore/apps/opie-console/MyPty.h
+++ b/noncore/apps/opie-console/MyPty.h
@@ -51,17 +51,17 @@ public:
51 */ 51 */
52 void start(); 52 void start();
53 int run(const char* pgm, QStrList & args , const char* term, int addutmp); 53 int run(const char* pgm, QStrList & args , const char* term, int addutmp);
54 bool open(); 54 bool open();
55 void close(); 55 void close();
56 void reload( const Profile& ); 56 void reload( const Profile& );
57 void setSize(int lines, int columns); 57 void setSize(int lines, int columns);
58 void error(); 58 void error();
59 59 bool isConnected() { return true; };
60 signals: 60 signals:
61 61
62 /*! 62 /*!
63 emitted when the client program terminates. 63 emitted when the client program terminates.
64 \param status the wait(2) status code of the terminated client program. 64 \param status the wait(2) status code of the terminated client program.
65 */ 65 */
66 void done(int status); 66 void done(int status);
67 67
diff --git a/noncore/apps/opie-console/default.cpp b/noncore/apps/opie-console/default.cpp
index 64c9542..8b905e1 100644
--- a/noncore/apps/opie-console/default.cpp
+++ b/noncore/apps/opie-console/default.cpp
@@ -45,17 +45,17 @@ extern "C" {
45 } 45 }
46 IOLayer* newIrDaLayer( const Profile& prof ) { 46 IOLayer* newIrDaLayer( const Profile& prof ) {
47 return new IOIrda( prof ); 47 return new IOIrda( prof );
48 } 48 }
49 IOLayer* newModemLayer( const Profile& prof ) { 49 IOLayer* newModemLayer( const Profile& prof ) {
50 return new IOModem( prof ); 50 return new IOModem( prof );
51 } 51 }
52 IOLayer* newConsole( const Profile& prof ) { 52 IOLayer* newConsole( const Profile& prof ) {
53 return new MyPty(prof ); 53 return new MyPty( prof );
54 } 54 }
55 55
56 // Connection Widgets 56 // Connection Widgets
57 ProfileDialogWidget* newSerialWidget( const QString& str, QWidget* wid ) { 57 ProfileDialogWidget* newSerialWidget( const QString& str, QWidget* wid ) {
58 return new SerialConfigWidget( str, wid ); 58 return new SerialConfigWidget( str, wid );
59 } 59 }
60 ProfileDialogWidget* newIrDaWidget( const QString& str, QWidget* wid ) { 60 ProfileDialogWidget* newIrDaWidget( const QString& str, QWidget* wid ) {
61 return new IrdaConfigWidget( str, wid ); 61 return new IrdaConfigWidget( str, wid );
diff --git a/noncore/apps/opie-console/io_layer.h b/noncore/apps/opie-console/io_layer.h
index 4977e94..d5f7eab 100644
--- a/noncore/apps/opie-console/io_layer.h
+++ b/noncore/apps/opie-console/io_layer.h
@@ -74,16 +74,18 @@ public:
74 virtual void closeRawIO(int); 74 virtual void closeRawIO(int);
75 75
76 /** 76 /**
77 * What does the IOLayer support? 77 * What does the IOLayer support?
78 * Bits are related to features 78 * Bits are related to features
79 */ 79 */
80 virtual QBitArray supports()const = 0; 80 virtual QBitArray supports()const = 0;
81 81
82 virtual bool isConnected() = 0;
83
82signals: 84signals:
83 /** 85 /**
84 * received input as QCString 86 * received input as QCString
85 */ 87 */
86 virtual void received( const QByteArray& ); 88 virtual void received( const QByteArray& );
87 89
88 /** 90 /**
89 * an error occured 91 * an error occured
diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp
index c10d5a8..b89a53b 100644
--- a/noncore/apps/opie-console/io_serial.cpp
+++ b/noncore/apps/opie-console/io_serial.cpp
@@ -3,16 +3,17 @@
3#include <errno.h> 3#include <errno.h>
4#include <unistd.h> 4#include <unistd.h>
5#include "io_serial.h" 5#include "io_serial.h"
6 6
7IOSerial::IOSerial(const Profile &config) : IOLayer(config) { 7IOSerial::IOSerial(const Profile &config) : IOLayer(config) {
8 m_read = 0l; 8 m_read = 0l;
9 m_error = 0l; 9 m_error = 0l;
10 m_fd = 0; 10 m_fd = 0;
11 m_connected = false;
11 reload(config); 12 reload(config);
12} 13}
13 14
14 15
15IOSerial::~IOSerial() { 16IOSerial::~IOSerial() {
16 if (m_fd) { 17 if (m_fd) {
17 close(); 18 close();
18 } 19 }
@@ -27,17 +28,19 @@ void IOSerial::send(const QByteArray &data) {
27} 28}
28 29
29void IOSerial::close() { 30void IOSerial::close() {
30 if (m_fd) { 31 if (m_fd) {
31 delete m_read; 32 delete m_read;
32 delete m_error; 33 delete m_error;
33 ::close(m_fd); 34 ::close(m_fd);
34 m_fd = 0; 35 m_fd = 0;
36 m_connected = false;
35 } else { 37 } else {
38 m_connected = false;
36 emit error(Refuse, tr("Not connected")); 39 emit error(Refuse, tr("Not connected"));
37 } 40 }
38} 41}
39 42
40bool IOSerial::open() { 43bool IOSerial::open() {
41 if (!m_fd) { 44 if (!m_fd) {
42 struct termios tty; 45 struct termios tty;
43 m_fd = ::open(m_device, O_RDWR | O_NOCTTY | O_NONBLOCK); 46 m_fd = ::open(m_device, O_RDWR | O_NOCTTY | O_NONBLOCK);
@@ -106,16 +109,17 @@ bool IOSerial::open() {
106 /* Set the changes */ 109 /* Set the changes */
107 tcsetattr(m_fd, TCSANOW, &tty); 110 tcsetattr(m_fd, TCSANOW, &tty);
108 111
109 /* Notifications on read & errors */ 112 /* Notifications on read & errors */
110 m_read = new QSocketNotifier(m_fd, QSocketNotifier::Read, this); 113 m_read = new QSocketNotifier(m_fd, QSocketNotifier::Read, this);
111 m_error = new QSocketNotifier(m_fd, QSocketNotifier::Exception, this); 114 m_error = new QSocketNotifier(m_fd, QSocketNotifier::Exception, this);
112 connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived())); 115 connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived()));
113 connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured())); 116 connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured()));
117 m_connected = false;
114 return TRUE; 118 return TRUE;
115 } else { 119 } else {
116 emit error(Refuse, tr("Device is already connected")); 120 emit error(Refuse, tr("Device is already connected"));
117 m_fd = 0; 121 m_fd = 0;
118 return FALSE; 122 return FALSE;
119 } 123 }
120} 124}
121 125
@@ -189,8 +193,12 @@ void IOSerial::closeRawIO(int fd) {
189} 193}
190QBitArray IOSerial::supports()const { 194QBitArray IOSerial::supports()const {
191 QBitArray ar(3); 195 QBitArray ar(3);
192 ar[0] = ar[2] = 0; 196 ar[0] = ar[2] = 0;
193 ar[1] = 1; 197 ar[1] = 1;
194 198
195 return ar; 199 return ar;
196} 200}
201
202bool IOSerial::isConnected() {
203 return m_connected;
204}
diff --git a/noncore/apps/opie-console/io_serial.h b/noncore/apps/opie-console/io_serial.h
index b1d1be1..7a1ea1d 100644
--- a/noncore/apps/opie-console/io_serial.h
+++ b/noncore/apps/opie-console/io_serial.h
@@ -33,16 +33,17 @@ public:
33 IOSerial(const Profile &); 33 IOSerial(const Profile &);
34 ~IOSerial(); 34 ~IOSerial();
35 35
36 QString identifier() const; 36 QString identifier() const;
37 QString name() const; 37 QString name() const;
38 int rawIO()const; 38 int rawIO()const;
39 void closeRawIO(int fd ); 39 void closeRawIO(int fd );
40 QBitArray supports()const; 40 QBitArray supports()const;
41 bool isConnected();
41/*signals: 42/*signals:
42 void received(const QByteArray &); 43 void received(const QByteArray &);
43 void error(int, const QString &); 44 void error(int, const QString &);
44*/ 45*/
45public slots: 46public slots:
46 void send(const QByteArray &); 47 void send(const QByteArray &);
47 bool open(); 48 bool open();
48 void close(); 49 void close();
@@ -57,11 +58,13 @@ protected:
57 QSocketNotifier *m_error; 58 QSocketNotifier *m_error;
58 QString m_device; 59 QString m_device;
59 int m_baud; 60 int m_baud;
60 int m_parity; 61 int m_parity;
61 int m_dbits; 62 int m_dbits;
62 int m_sbits; 63 int m_sbits;
63 int m_flow; 64 int m_flow;
64 int m_fd; 65 int m_fd;
66 bool m_connected;
67
65}; 68};
66 69
67#endif /* OPIE_IO_SERIAL */ 70#endif /* OPIE_IO_SERIAL */
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index d3b6c8a..4326609 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -200,17 +200,17 @@ void MainWindow::initUI() {
200 200
201 /* and the keyboard */ 201 /* and the keyboard */
202 m_keyBar = new QToolBar(this); 202 m_keyBar = new QToolBar(this);
203 addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE ); 203 addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE );
204 m_keyBar->setHorizontalStretchable( TRUE ); 204 m_keyBar->setHorizontalStretchable( TRUE );
205 m_keyBar->hide(); 205 m_keyBar->hide();
206 206
207 m_kb = new FunctionKeyboard(m_keyBar); 207 m_kb = new FunctionKeyboard(m_keyBar);
208 connect(m_kb, SIGNAL(keyPressed(ushort, ushort, bool, bool, bool)), 208 connect(m_kb, SIGNAL(keyPressed(ushort, ushort, bool, bool, bool)),
209 this, SLOT(slotKeyReceived(ushort, ushort, bool, bool, bool))); 209 this, SLOT(slotKeyReceived(ushort, ushort, bool, bool, bool)));
210 210
211 211
212 212
213 m_connect->setEnabled( false ); 213 m_connect->setEnabled( false );
214 m_disconnect->setEnabled( false ); 214 m_disconnect->setEnabled( false );
215 m_terminate->setEnabled( false ); 215 m_terminate->setEnabled( false );
216 m_transfer->setEnabled( false ); 216 m_transfer->setEnabled( false );
@@ -434,18 +434,18 @@ void MainWindow::slotOpenKeb(bool state) {
434 if (state) m_keyBar->show(); 434 if (state) m_keyBar->show();
435 else m_keyBar->hide(); 435 else m_keyBar->hide();
436 436
437} 437}
438void MainWindow::slotSessionChanged( Session* ses ) { 438void MainWindow::slotSessionChanged( Session* ses ) {
439 qWarning("changed!"); 439 qWarning("changed!");
440 if ( ses ) { 440 if ( ses ) {
441 m_curSession = ses; 441 m_curSession = ses;
442 442 qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) );
443 if ( m_curSession->isConnected() ) { 443 if ( m_curSession->layer()->isConnected() ) {
444 m_connect->setEnabled( false ); 444 m_connect->setEnabled( false );
445 m_disconnect->setEnabled( true ); 445 m_disconnect->setEnabled( true );
446 } else { 446 } else {
447 m_connect->setEnabled( true ); 447 m_connect->setEnabled( true );
448 m_disconnect->setEnabled( false ); 448 m_disconnect->setEnabled( false );
449 } 449 }
450 } 450 }
451} 451}
@@ -484,11 +484,11 @@ void MainWindow::slotKeyReceived(ushort u, ushort q, bool, bool, bool) {
484 484
485 qWarning("received key event! relay to TE widget"); 485 qWarning("received key event! relay to TE widget");
486 486
487 if ( m_curSession ) { 487 if ( m_curSession ) {
488 QKeyEvent ke(QEvent::KeyPress, q, u, 0); 488 QKeyEvent ke(QEvent::KeyPress, q, u, 0);
489 489
490 ke.ignore(); 490 ke.ignore();
491 // where should i send this event? doesnt work sending it here 491 // where should i send this event? doesnt work sending it here
492 QApplication::sendEvent((QObject *)m_curSession->widgetStack(), &ke); 492 QApplication::sendEvent((QObject *)m_curSession->widgetStack(), &ke);
493 } 493 }
494} 494}
diff --git a/noncore/apps/opie-console/session.cpp b/noncore/apps/opie-console/session.cpp
index aad100d..2ce6872 100644
--- a/noncore/apps/opie-console/session.cpp
+++ b/noncore/apps/opie-console/session.cpp
@@ -46,31 +46,27 @@ QWidget* Session::widget() {
46WidgetLayer* Session::emulationWidget() { 46WidgetLayer* Session::emulationWidget() {
47 return m_widLay; 47 return m_widLay;
48} 48}
49*/ 49*/
50void Session::connect() { 50void Session::connect() {
51 if ( !m_layer || !m_emu ) 51 if ( !m_layer || !m_emu )
52 return; 52 return;
53 53
54 m_connected = true;
55
56 QObject::connect(m_layer, SIGNAL(received(const QByteArray&) ), 54 QObject::connect(m_layer, SIGNAL(received(const QByteArray&) ),
57 m_emu, SLOT(recv(const QByteArray&) ) ); 55 m_emu, SLOT(recv(const QByteArray&) ) );
58 QObject::connect(m_emu, SIGNAL(send(const QByteArray&) ), 56 QObject::connect(m_emu, SIGNAL(send(const QByteArray&) ),
59 m_layer, SLOT(send(const QByteArray&) ) ); 57 m_layer, SLOT(send(const QByteArray&) ) );
60} 58}
61 59
62void Session::disconnect() { 60void Session::disconnect() {
63 61
64 if ( !m_layer || !m_emu ) 62 if ( !m_layer || !m_emu )
65 return; 63 return;
66 64
67 m_connected = false;
68
69 QObject::disconnect(m_layer, SIGNAL(received(const QByteArray&) ), 65 QObject::disconnect(m_layer, SIGNAL(received(const QByteArray&) ),
70 m_emu, SLOT(recv(const QByteArray&) ) ); 66 m_emu, SLOT(recv(const QByteArray&) ) );
71 QObject::disconnect(m_emu, SIGNAL(send(const QByteArray&) ), 67 QObject::disconnect(m_emu, SIGNAL(send(const QByteArray&) ),
72 m_layer, SLOT(send(const QByteArray&) ) ); 68 m_layer, SLOT(send(const QByteArray&) ) );
73} 69}
74 70
75void Session::setName( const QString& na){ 71void Session::setName( const QString& na){
76 m_name = na; 72 m_name = na;
@@ -95,11 +91,8 @@ void Session::setEmulationHandler( EmulationHandler* lay ) {
95} 91}
96/* 92/*
97void Session::setEmulationWidget( WidgetLayer* lay ) { 93void Session::setEmulationWidget( WidgetLayer* lay ) {
98 delete m_widLay; 94 delete m_widLay;
99 m_widLay = lay; 95 m_widLay = lay;
100} 96}
101*/ 97*/
102 98
103bool Session::isConnected() {
104 return m_connected;
105}
diff --git a/noncore/apps/opie-console/session.h b/noncore/apps/opie-console/session.h
index ff92df3..83b2046 100644
--- a/noncore/apps/opie-console/session.h
+++ b/noncore/apps/opie-console/session.h
@@ -55,18 +55,16 @@ public:
55 */ 55 */
56 void disconnect(); 56 void disconnect();
57 57
58 void setWidgetStack( QWidgetStack* widget ); 58 void setWidgetStack( QWidgetStack* widget );
59 void setEmulationHandler( EmulationHandler* lay ); 59 void setEmulationHandler( EmulationHandler* lay );
60 void setIOLayer( IOLayer* ); 60 void setIOLayer( IOLayer* );
61 void setName( const QString& ); 61 void setName( const QString& );
62 62
63 bool isConnected();
64
65private: 63private:
66 QString m_name; 64 QString m_name;
67 QWidgetStack* m_widget; 65 QWidgetStack* m_widget;
68 IOLayer* m_layer; 66 IOLayer* m_layer;
69 EmulationHandler* m_emu; 67 EmulationHandler* m_emu;
70 bool m_connected; 68 bool m_connected;
71 69
72}; 70};