summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/device.cc12
-rw-r--r--noncore/net/opietooth/lib/device.h9
2 files changed, 13 insertions, 8 deletions
diff --git a/noncore/net/opietooth/lib/device.cc b/noncore/net/opietooth/lib/device.cc
index 5edfc03..bae1c47 100644
--- a/noncore/net/opietooth/lib/device.cc
+++ b/noncore/net/opietooth/lib/device.cc
@@ -22,30 +22,32 @@ namespace {
22 return id; 22 return id;
23 } 23 }
24} 24}
25 25
26Device::Device(const QString &device, const QString &mode ) 26Device::Device(const QString &device, const QString &mode, const QString &speed )
27 : QObject(0, "device" ) { 27 : QObject(0, "device") {
28
28 qWarning("OpieTooth::Device create" ); 29 qWarning("OpieTooth::Device create" );
29 m_hci = 0; 30 m_hci = 0;
30 m_process = 0; 31 m_process = 0;
31 m_attached = false; 32 m_attached = false;
32 m_device = device; 33 m_device = device;
33 m_mode = mode; 34 m_mode = mode;
35 m_speed = speed;
34 attach(); 36 attach();
35} 37}
36Device::~Device(){ 38Device::~Device(){
37 detach(); 39 detach();
38} 40}
39void Device::attach(){ 41void Device::attach(){
40 qWarning("attaching %s %s", m_device.latin1(), m_mode.latin1() ); 42 qWarning("attaching %s %s %s", m_device.latin1(), m_mode.latin1(), m_speed.latin1() );
41 if(m_process == 0 ){ 43 if(m_process == 0 ){
42 m_output.resize(0); 44 m_output.resize(0);
43 qWarning("new process to create" ); 45 qWarning("new process to create" );
44 m_process = new OProcess(); 46 m_process = new OProcess();
45 *m_process << "hciattach"; 47 *m_process << "hciattach";
46 *m_process << "-p"; 48 *m_process << "-p";
47 *m_process << m_device << m_mode; 49 *m_process << m_device << m_mode << m_speed;
48 connect(m_process, SIGNAL( processExited(OProcess*) ), 50 connect(m_process, SIGNAL( processExited(OProcess*) ),
49 this, SLOT( slotExited(OProcess* ) ) ); 51 this, SLOT( slotExited(OProcess* ) ) );
50 connect(m_process, SIGNAL( receivedStdout(OProcess*, char*, int) ), 52 connect(m_process, SIGNAL( receivedStdout(OProcess*, char*, int) ),
51 this, SLOT(slotStdOut(OProcess*,char*,int ) ) ); 53 this, SLOT(slotStdOut(OProcess*,char*,int ) ) );
@@ -133,9 +135,9 @@ void Device::slotStdOut(OProcess* proc, char* chars, int len)
133{ 135{
134 qWarning("std out" ); 136 qWarning("std out" );
135 if( len <1 ){ 137 if( len <1 ){
136 qWarning( "len < 1 " ); 138 qWarning( "len < 1 " );
137 return; 139 return;
138 } 140 }
139 if(proc == m_process ){ 141 if(proc == m_process ){
140 QCString string( chars, len+1 ); // \0 == +1 142 QCString string( chars, len+1 ); // \0 == +1
141 qWarning("output: %s", string.data() ); 143 qWarning("output: %s", string.data() );
diff --git a/noncore/net/opietooth/lib/device.h b/noncore/net/opietooth/lib/device.h
index c0e2658..ce7fccc 100644
--- a/noncore/net/opietooth/lib/device.h
+++ b/noncore/net/opietooth/lib/device.h
@@ -10,14 +10,15 @@
10 10
11class OProcess; 11class OProcess;
12namespace OpieTooth { 12namespace OpieTooth {
13 /** 13 /**
14 * Device takes care of attaching serial 14 * Device takes care of attaching serial
15 * devices to the blueZ stack. 15 * devices to the blueZ stack.
16 * After attaching it hciconfig ups it 16 * After attaching it hciconfig ups it
17 */ 17 */
18 class Device : public QObject { 18 class Device : public QObject {
19 Q_OBJECT 19
20 Q_OBJECT
20 21
21 public: 22 public:
22 23
23 /** 24 /**
@@ -25,10 +26,11 @@ namespace OpieTooth {
25 * Usage example: new Device(/dev/ttySB0, csr) 26 * Usage example: new Device(/dev/ttySB0, csr)
26 * 27 *
27 * @param &device QString the device name 28 * @param &device QString the device name
28 * @param &mode QString the mode 29 * @param &mode QString the mode
30 * @param &speed QString the speed of the device, can be left blank
29 */ 31 */
30 Device(const QString &device, const QString& mode); 32 Device(const QString &device, const QString& mode, const QString& speed);
31 33
32 /** 34 /**
33 * unloads the device 35 * unloads the device
34 */ 36 */
@@ -76,8 +78,9 @@ namespace OpieTooth {
76 OProcess* m_hci; 78 OProcess* m_hci;
77 OProcess* m_process; 79 OProcess* m_process;
78 QString m_devId; 80 QString m_devId;
79 QString m_mode; 81 QString m_mode;
82 QString m_speed;
80 pid_t pid; 83 pid_t pid;
81 QCString m_output; 84 QCString m_output;
82 }; 85 };
83}; 86};