Diffstat (limited to 'noncore/net/opietooth/lib/device.cc') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/opietooth/lib/device.cc | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/noncore/net/opietooth/lib/device.cc b/noncore/net/opietooth/lib/device.cc index 40acbd2..2f04d46 100644 --- a/noncore/net/opietooth/lib/device.cc +++ b/noncore/net/opietooth/lib/device.cc @@ -13,39 +13,37 @@ using namespace Opie::Core; using namespace OpieTooth; using Opie::Core::OProcess; namespace { int parsePid( const QCString& par ) { int id=0; QString string( par ); QStringList list = QStringList::split( '\n', string ); - for( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) - { + for( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { owarn << "parsePID: " << (*it).latin1() << oendl; // FIXME mbhaynie: Surely there is a better way to skip // verbosity (E.g. the TI device configuration // script). Apparently the PID is always on a line by // itself, or is at least the first word of a line. Does // QString have somethine like startsWithRegex("[0-9]+")? if( (*it).startsWith("#") ) continue; if( (*it).startsWith("TI") ) continue; if( (*it).startsWith("Loading") ) continue; if( (*it).startsWith("BTS") ) continue; - if( !(*it).startsWith("CSR") ) - { + if( !(*it).startsWith("CSR") ) { id = (*it).toInt(); break; } } return id; } } Device::Device(const QString &device, const QString &mode, const QString &speed ) : QObject(0, "device") { owarn << "OpieTooth::Device create" << oendl; @@ -66,52 +64,50 @@ Device::~Device(){ // sure why. void Device::attach(){ owarn << "attaching " << m_device.latin1() << " " << m_mode.latin1() << " " << m_speed.latin1() << oendl; if(m_process == 0 ){ m_output.resize(0); owarn << "new process to create" << oendl; m_process = new OProcess(); *m_process << "hciattach"; *m_process << "-p"; // FIXME -- this is a hack for an odd hciattach interface. if ( ODevice::inst()->modelString() == "HX4700" ) - { *m_process << "-S" << "/etc/bluetooth/TIInit_3.2.26.bts" << "/dev/ttyS1" << "texas"; - } else - { *m_process << m_device << m_mode << m_speed; - } connect(m_process, SIGNAL( processExited(Opie::Core::OProcess*) ), this, SLOT( slotExited(Opie::Core::OProcess* ) ) ); connect(m_process, SIGNAL( receivedStdout(Opie::Core::OProcess*, char*, int) ), this, SLOT(slotStdOut(Opie::Core::OProcess*,char*,int ) ) ); connect(m_process, SIGNAL(receivedStderr(Opie::Core::OProcess*, char*, int ) ), this, SLOT(slotStdErr(Opie::Core::OProcess*,char*,int) ) ); if(!m_process->start(OProcess::NotifyOnExit, OProcess::AllOutput ) ){ owarn << "Could not start" << oendl; delete m_process; m_process = 0; } - }; + } } void Device::detach(){ delete m_hci; + m_hci = 0; delete m_process; + m_process = 0; // kill the pid we got if(m_attached ){ //kill the pid owarn << "killing" << oendl; - kill(pid, 9); + ::kill(pid, 9); } owarn << "detached" << oendl; } bool Device::isLoaded()const{ return m_attached; } QString Device::devName()const { return QString::fromLatin1("hci0"); }; void Device::slotExited( OProcess* proc) { owarn << "prcess exited" << oendl; |