summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/startpanconnection.cpp14
-rw-r--r--noncore/net/opietooth/manager/panpopup.cpp1
2 files changed, 15 insertions, 0 deletions
diff --git a/noncore/net/opietooth/lib/startpanconnection.cpp b/noncore/net/opietooth/lib/startpanconnection.cpp
index e7deede..6e0ab7e 100644
--- a/noncore/net/opietooth/lib/startpanconnection.cpp
+++ b/noncore/net/opietooth/lib/startpanconnection.cpp
@@ -8,61 +8,75 @@ StartPanConnection::StartPanConnection() {
8 m_panConnect = 0l; 8 m_panConnect = 0l;
9 setConnectionType(); 9 setConnectionType();
10} 10}
11 11
12StartPanConnection::~StartPanConnection() { 12StartPanConnection::~StartPanConnection() {
13 delete m_panConnect; 13 delete m_panConnect;
14} 14}
15 15
16StartPanConnection::StartPanConnection( QString mac ) { 16StartPanConnection::StartPanConnection( QString mac ) {
17 m_panConnect = 0l; 17 m_panConnect = 0l;
18 m_mac = mac; 18 m_mac = mac;
19 setConnectionType(); 19 setConnectionType();
20} 20}
21 21
22void StartPanConnection::setName( QString name ) { 22void StartPanConnection::setName( QString name ) {
23 m_name = name; 23 m_name = name;
24} 24}
25 25
26QString StartPanConnection::name() { 26QString StartPanConnection::name() {
27 return m_name; 27 return m_name;
28} 28}
29 29
30void StartPanConnection::setConnectionType() { 30void StartPanConnection::setConnectionType() {
31 m_connectionType = Pan; 31 m_connectionType = Pan;
32} 32}
33 33
34StartConnection::ConnectionType StartPanConnection::type() { 34StartConnection::ConnectionType StartPanConnection::type() {
35 return m_connectionType; 35 return m_connectionType;
36} 36}
37 37
38void StartPanConnection::start() { 38void StartPanConnection::start() {
39 m_panConnect = new OProcess(); 39 m_panConnect = new OProcess();
40 qDebug( "IM START " + m_mac ); 40 qDebug( "IM START " + m_mac );
41 *m_panConnect << "pand" << "--connect" << m_mac; 41 *m_panConnect << "pand" << "--connect" << m_mac;
42 42
43 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) , 43 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) ,
44 this, SLOT( slotExited( OProcess* ) ) ); 44 this, SLOT( slotExited( OProcess* ) ) );
45 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ), 45 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ),
46 this, SLOT( slotStdOut( OProcess*, char*, int ) ) ); 46 this, SLOT( slotStdOut( OProcess*, char*, int ) ) );
47 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) { 47 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) {
48 qWarning( "could not start" ); 48 qWarning( "could not start" );
49 delete m_panConnect; 49 delete m_panConnect;
50 } 50 }
51} 51}
52 52
53 53
54void StartPanConnection::slotExited( OProcess* proc ) { 54void StartPanConnection::slotExited( OProcess* proc ) {
55 delete m_panConnect; 55 delete m_panConnect;
56 m_panConnect = 0l;
56} 57}
57 58
58void StartPanConnection::slotStdOut(OProcess* proc, char* chars, int len) 59void StartPanConnection::slotStdOut(OProcess* proc, char* chars, int len)
59{} 60{}
60 61
61 62
62void StartPanConnection::stop() { 63void StartPanConnection::stop() {
63 if ( m_panConnect ) { 64 if ( m_panConnect ) {
64 delete m_panConnect; 65 delete m_panConnect;
65 m_panConnect = 0l; 66 m_panConnect = 0l;
66 } 67 }
68 m_panConnect = new OProcess();
69 qDebug("IM STOP " + m_mac);
70
71 *m_panConnect << "pand" << "--kill" << m_mac;
72
73 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) ,
74 this, SLOT( slotExited( OProcess* ) ) );
75 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ),
76 this, SLOT( slotStdOut( OProcess*, char*, int ) ) );
77 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) {
78 qWarning( "could not stop" );
79 delete m_panConnect;
80 }
67} 81}
68 82
diff --git a/noncore/net/opietooth/manager/panpopup.cpp b/noncore/net/opietooth/manager/panpopup.cpp
index 695f349..8b05964 100644
--- a/noncore/net/opietooth/manager/panpopup.cpp
+++ b/noncore/net/opietooth/manager/panpopup.cpp
@@ -4,60 +4,61 @@
4 4
5#include "panpopup.h" 5#include "panpopup.h"
6 6
7using namespace OpieTooth; 7using namespace OpieTooth;
8 8
9/* 9/*
10 * c'tor init the QAction 10 * c'tor init the QAction
11 */ 11 */
12PanPopup::PanPopup( OpieTooth::BTDeviceItem* item ) : QPopupMenu() { 12PanPopup::PanPopup( OpieTooth::BTDeviceItem* item ) : QPopupMenu() {
13 13
14 qWarning("PanPopup c'tor"); 14 qWarning("PanPopup c'tor");
15 15
16 m_item = item; 16 m_item = item;
17 QAction *a, *b, *c; 17 QAction *a, *b, *c;
18 18
19 m_panconnection = 0l; 19 m_panconnection = 0l;
20 /* connect action */ 20 /* connect action */
21 21
22 22
23 a = new QAction(); // so it's get deleted 23 a = new QAction(); // so it's get deleted
24 a->setText( tr("connect") ); 24 a->setText( tr("connect") );
25 a->addTo( this ); 25 a->addTo( this );
26 connect( a, SIGNAL( activated() ), this, SLOT( slotConnect() ) ); 26 connect( a, SIGNAL( activated() ), this, SLOT( slotConnect() ) );
27 27
28 28
29 b = new QAction(); 29 b = new QAction();
30 b->setText( tr( "connect+conf" ) ); 30 b->setText( tr( "connect+conf" ) );
31 b->addTo( this ); 31 b->addTo( this );
32 connect( b, SIGNAL( activated() ), this, SLOT( slotConnectAndConfig() ) ); 32 connect( b, SIGNAL( activated() ), this, SLOT( slotConnectAndConfig() ) );
33 33
34 c = new QAction(); 34 c = new QAction();
35 c->setText( tr( "disconnect" ) ); 35 c->setText( tr( "disconnect" ) );
36 c->addTo( this ); 36 c->addTo( this );
37 connect( c, SIGNAL( activated() ), this, SLOT( slotDisconnect() ) ); 37 connect( c, SIGNAL( activated() ), this, SLOT( slotDisconnect() ) );
38 38
39}; 39};
40 40
41PanPopup::~PanPopup() { 41PanPopup::~PanPopup() {
42 42
43} 43}
44 44
45void PanPopup::slotConnect() { 45void PanPopup::slotConnect() {
46 46
47 m_panconnection = new StartPanConnection( m_item->mac() ); 47 m_panconnection = new StartPanConnection( m_item->mac() );
48 m_panconnection->start(); 48 m_panconnection->start();
49} 49}
50 50
51void PanPopup::slotDisconnect() { 51void PanPopup::slotDisconnect() {
52 if (!m_panconnection) m_panconnection = new StartPanConnection( m_item->mac() );
52 m_panconnection->stop(); 53 m_panconnection->stop();
53} 54}
54 55
55 56
56void PanPopup::slotConnectAndConfig() { 57void PanPopup::slotConnectAndConfig() {
57 slotConnect(); 58 slotConnect();
58 59
59 // more intelligence here later like passing the device ( bnepX ) 60 // more intelligence here later like passing the device ( bnepX )
60 QCopEnvelope e( "QPE/System", "execute(QString)" ); 61 QCopEnvelope e( "QPE/System", "execute(QString)" );
61 e << QString( "networksettings" ); 62 e << QString( "networksettings" );
62 63
63} 64}