summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth/lib/device.cc
Unidiff
Diffstat (limited to 'noncore/net/opietooth/lib/device.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/device.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/noncore/net/opietooth/lib/device.cc b/noncore/net/opietooth/lib/device.cc
index 5234996..5edfc03 100644
--- a/noncore/net/opietooth/lib/device.cc
+++ b/noncore/net/opietooth/lib/device.cc
@@ -10,12 +10,13 @@ using namespace OpieTooth;
10namespace { 10namespace {
11 int parsePid( const QCString& par ){ 11 int parsePid( const QCString& par ){
12 int id=0; 12 int id=0;
13 QString string( par ); 13 QString string( par );
14 QStringList list = QStringList::split( '\n', string ); 14 QStringList list = QStringList::split( '\n', string );
15 for( QStringList::Iterator it = list.begin(); it != list.end(); ++it ){ 15 for( QStringList::Iterator it = list.begin(); it != list.end(); ++it ){
16 qWarning("parsePID: %s", (*it).latin1() );
16 if( !(*it).startsWith("CSR") ){ 17 if( !(*it).startsWith("CSR") ){
17 id = (*it).toInt(); 18 id = (*it).toInt();
18 break; 19 break;
19 } 20 }
20 } 21 }
21 return id; 22 return id;
@@ -75,13 +76,15 @@ QString Device::devName()const {
75 return QString::fromLatin1("hci0"); 76 return QString::fromLatin1("hci0");
76}; 77};
77void Device::slotExited( OProcess* proc) 78void Device::slotExited( OProcess* proc)
78{ 79{
79 qWarning("prcess exited" ); 80 qWarning("prcess exited" );
80 if(proc== m_process ){ 81 if(proc== m_process ){
82 qWarning("proc == m_process" );
81 if( m_process->normalExit() ){ // normal exit 83 if( m_process->normalExit() ){ // normal exit
84 qWarning("normalExit" );
82 int ret = m_process->exitStatus(); 85 int ret = m_process->exitStatus();
83 if( ret == 0 ){ // attached 86 if( ret == 0 ){ // attached
84 qWarning("attached" ); 87 qWarning("attached" );
85 qWarning("Output: %s", m_output.data() ); 88 qWarning("Output: %s", m_output.data() );
86 pid = parsePid( m_output ); 89 pid = parsePid( m_output );
87 qWarning("Pid = %d", pid ); 90 qWarning("Pid = %d", pid );
@@ -96,12 +99,13 @@ void Device::slotExited( OProcess* proc)
96 if(!m_hci->start() ){ 99 if(!m_hci->start() ){
97 qWarning("could not start" ); 100 qWarning("could not start" );
98 m_attached = false; 101 m_attached = false;
99 emit device("hci0", false ); 102 emit device("hci0", false );
100 } 103 }
101 }else{ 104 }else{
105 qWarning("crass" );
102 m_attached = false; 106 m_attached = false;
103 emit device("hci0", false ); 107 emit device("hci0", false );
104 108
105 } 109 }
106 } 110 }
107 delete m_process; 111 delete m_process;
@@ -125,18 +129,21 @@ void Device::slotExited( OProcess* proc)
125 m_hci = 0; 129 m_hci = 0;
126 } 130 }
127} 131}
128void Device::slotStdOut(OProcess* proc, char* chars, int len) 132void Device::slotStdOut(OProcess* proc, char* chars, int len)
129{ 133{
130 qWarning("std out" ); 134 qWarning("std out" );
131 if( len <1 ) 135 if( len <1 ){
136 qWarning( "len < 1 " );
132 return; 137 return;
138 }
133 if(proc == m_process ){ 139 if(proc == m_process ){
134 QCString string( chars, len+1 ); // \0 == +1 140 QCString string( chars, len+1 ); // \0 == +1
135 qWarning("output: %s", string.data() ); 141 qWarning("output: %s", string.data() );
136 m_output.append( string.data() ); 142 m_output.append( string.data() );
137 } 143 }
138} 144}
139void Device::slotStdErr(OProcess*, char*, int ) 145void Device::slotStdErr(OProcess* proc, char* chars, int len)
140{ 146{
141 qWarning("std err" ); 147 qWarning("std err" );
148 slotStdOut( proc, chars, len );
142} 149}