-rw-r--r-- | noncore/net/opietooth/lib/parser.cc | 15 | ||||
-rw-r--r-- | noncore/net/opietooth/lib/remotedevice.cc | 6 | ||||
-rw-r--r-- | noncore/net/opietooth/lib/remotedevice.h | 4 |
3 files changed, 19 insertions, 6 deletions
diff --git a/noncore/net/opietooth/lib/parser.cc b/noncore/net/opietooth/lib/parser.cc index 0699309..8baf284 100644 --- a/noncore/net/opietooth/lib/parser.cc +++ b/noncore/net/opietooth/lib/parser.cc | |||
@@ -48,48 +48,48 @@ Parser::Parser(const QString& output ) { | |||
48 | void Parser::setText(const QString& output) { | 48 | void Parser::setText(const QString& output) { |
49 | parse( output ); | 49 | parse( output ); |
50 | } | 50 | } |
51 | Services::ValueList Parser::services() const { | 51 | Services::ValueList Parser::services() const { |
52 | return m_list; | 52 | return m_list; |
53 | } | 53 | } |
54 | void Parser::parse( const QString& string) { | 54 | void Parser::parse( const QString& string) { |
55 | m_list.clear(); | 55 | m_list.clear(); |
56 | m_complete = true; | 56 | m_complete = true; |
57 | QStringList list = QStringList::split('\n', string,TRUE ); | 57 | QStringList list = QStringList::split('\n', string,TRUE ); |
58 | QStringList::Iterator it; | 58 | QStringList::Iterator it; |
59 | for (it = list.begin(); it != list.end(); ++it ) { | 59 | for (it = list.begin(); it != list.end(); ++it ) { |
60 | qWarning("line:%s:line", (*it).latin1() ); | 60 | //qWarning("line:%s:line", (*it).latin1() ); |
61 | if ( (*it).startsWith("Browsing") ) continue; | 61 | if ( (*it).startsWith("Browsing") ) continue; |
62 | 62 | ||
63 | if ( (*it).stripWhiteSpace().isEmpty() ) { // line is empty because a new Service begins | 63 | if ( (*it).stripWhiteSpace().isEmpty() ) { // line is empty because a new Service begins |
64 | qWarning("could add"); | 64 | qWarning("could add"); |
65 | // now see if complete and add | 65 | // now see if complete and add |
66 | if (m_complete ) { | 66 | if (m_complete ) { |
67 | if (!m_item.serviceName().isEmpty() ) | 67 | if (!m_item.serviceName().isEmpty() ) |
68 | m_list.append( m_item ); | 68 | m_list.append( m_item ); |
69 | Services serv; | 69 | Services serv; |
70 | m_item = serv; | 70 | m_item = serv; |
71 | m_complete = true; | 71 | m_complete = true; |
72 | continue; | 72 | continue; |
73 | } | 73 | } |
74 | } | 74 | } |
75 | if (parseName( (*it) ) ) ;//continue; | 75 | if (parseName( (*it) ) ) ;//continue; |
76 | if (parseRecHandle( (*it) ) ) ;//continue; | 76 | if (parseRecHandle( (*it) ) ) ;//continue; |
77 | if (parseClassId( (*it) ) ) ;//continue; | 77 | if (parseClassId( (*it) ) ) ;//continue; |
78 | if (parseProtocol( (*it) ) ) ;//continue; | 78 | if (parseProtocol( (*it) ) ) ;//continue; |
79 | if (parseProfile( (*it) ) ) ;//continue; | 79 | if (parseProfile( (*it) ) ) ;//continue; |
80 | } | 80 | } |
81 | // missed the last one | 81 | // missed the last one |
82 | if (m_complete) { | 82 | if (m_complete) { |
83 | qWarning("adding"); | 83 | // qWarning("adding"); |
84 | if (!m_item.serviceName().isEmpty() ) | 84 | if (!m_item.serviceName().isEmpty() ) |
85 | m_list.append(m_item ); | 85 | m_list.append(m_item ); |
86 | } | 86 | } |
87 | QValueList<Services>::Iterator it2; | 87 | QValueList<Services>::Iterator it2; |
88 | 88 | ||
89 | if (m_list.isEmpty() ) | 89 | if (m_list.isEmpty() ) |
90 | qWarning("m_list is empty"); | 90 | qWarning("m_list is empty"); |
91 | for (it2 = m_list.begin(); it2 != m_list.end(); ++it2 ) { | 91 | for (it2 = m_list.begin(); it2 != m_list.end(); ++it2 ) { |
92 | qWarning("name %s", (*it2).serviceName().latin1() ); | 92 | qWarning("name %s", (*it2).serviceName().latin1() ); |
93 | } | 93 | } |
94 | } | 94 | } |
95 | bool Parser::parseName( const QString& str) { | 95 | bool Parser::parseName( const QString& str) { |
@@ -109,42 +109,47 @@ bool Parser::parseRecHandle( const QString& str) { | |||
109 | m_complete = true; | 109 | m_complete = true; |
110 | else | 110 | else |
111 | m_complete = false; | 111 | m_complete = false; |
112 | qWarning("rec handle %d", value); | 112 | qWarning("rec handle %d", value); |
113 | m_item.setRecHandle( value ); | 113 | m_item.setRecHandle( value ); |
114 | return true; | 114 | return true; |
115 | 115 | ||
116 | } | 116 | } |
117 | return false; | 117 | return false; |
118 | } | 118 | } |
119 | bool Parser::parseClassId( const QString& str) { | 119 | bool Parser::parseClassId( const QString& str) { |
120 | if (str.startsWith("Service Class ID List:") ) { | 120 | if (str.startsWith("Service Class ID List:") ) { |
121 | qWarning("found class id" ); | ||
122 | qWarning("line:%s", str.latin1() ); | ||
121 | m_classOver = true; | 123 | m_classOver = true; |
122 | return true; | 124 | return true; |
123 | }else if ( m_classOver && str.startsWith(" " ) ){ // ok now are the informations in place | 125 | }else if ( m_classOver && str.startsWith(" " ) ){ // ok now are the informations in place |
124 | 126 | qWarning("line with class id" ); | |
127 | qWarning("%s",str.latin1() ); | ||
125 | 128 | ||
126 | // "Obex Object Push" (0x1105) | 129 | // "Obex Object Push" (0x1105) |
127 | // find backwards the " and the from 0 to pos and the mid pos+1 | 130 | // find backwards the " and the from 0 to pos and the mid pos+1 |
128 | // then stripWhiteSpace add name replace '"' with "" | 131 | // then stripWhiteSpace add name replace '"' with "" |
129 | // and then convert 0x1105 toInt() | 132 | // and then convert 0x1105 toInt() |
130 | QString classes; | 133 | QString classes; |
131 | int ids; | 134 | int ids; |
132 | ids = convert( str, classes ); | 135 | ids = convert( str, classes ); |
133 | qWarning("ids %d", ids ); | 136 | qWarning("ids %d", ids ); |
134 | m_item.insertClassId( ids, classes ); | 137 | m_item.insertClassId( ids, classes ); |
135 | 138 | ||
136 | return true; | 139 | return true; |
137 | }else | 140 | }else{ |
141 | qWarning("Else %d", m_classOver ); | ||
138 | m_classOver = false; | 142 | m_classOver = false; |
143 | } | ||
139 | return false; | 144 | return false; |
140 | } | 145 | } |
141 | bool Parser::parseProtocol( const QString& str) { | 146 | bool Parser::parseProtocol( const QString& str) { |
142 | if (str.startsWith("Protocol Descriptor List:") ) { | 147 | if (str.startsWith("Protocol Descriptor List:") ) { |
143 | m_protocolOver = true; | 148 | m_protocolOver = true; |
144 | m_protocolAdded = false; | 149 | m_protocolAdded = false; |
145 | return true; | 150 | return true; |
146 | 151 | ||
147 | }else if (m_protocolOver && str.startsWith(" ") ) { // "L2CAP" (0x0100) | 152 | }else if (m_protocolOver && str.startsWith(" ") ) { // "L2CAP" (0x0100) |
148 | qWarning("double protocol filter"); | 153 | qWarning("double protocol filter"); |
149 | 154 | ||
150 | if (!m_protocolAdded ) { // the protocol does neither supply a channel nor port so add it now | 155 | if (!m_protocolAdded ) { // the protocol does neither supply a channel nor port so add it now |
diff --git a/noncore/net/opietooth/lib/remotedevice.cc b/noncore/net/opietooth/lib/remotedevice.cc index 08fb397..9cf0cac 100644 --- a/noncore/net/opietooth/lib/remotedevice.cc +++ b/noncore/net/opietooth/lib/remotedevice.cc | |||
@@ -37,12 +37,18 @@ RemoteDevice& RemoteDevice::operator=( const RemoteDevice& rem1){ | |||
37 | QString RemoteDevice::mac() const { | 37 | QString RemoteDevice::mac() const { |
38 | return m_mac; | 38 | return m_mac; |
39 | } | 39 | } |
40 | void RemoteDevice::setMac( const QString& mac ){ | 40 | void RemoteDevice::setMac( const QString& mac ){ |
41 | m_mac = mac; | 41 | m_mac = mac; |
42 | } | 42 | } |
43 | QString RemoteDevice::name() const{ | 43 | QString RemoteDevice::name() const{ |
44 | return m_name; | 44 | return m_name; |
45 | } | 45 | } |
46 | void RemoteDevice::setName( const QString& name ){ | 46 | void RemoteDevice::setName( const QString& name ){ |
47 | m_name = name; | 47 | m_name = name; |
48 | } | 48 | } |
49 | bool RemoteDevice::equals( const RemoteDevice& dev ) const { | ||
50 | if ( m_mac == dev.m_mac && m_name == dev.m_name ) | ||
51 | return true; | ||
52 | else | ||
53 | return false; | ||
54 | }; | ||
diff --git a/noncore/net/opietooth/lib/remotedevice.h b/noncore/net/opietooth/lib/remotedevice.h index 23f98bd..f268ccc 100644 --- a/noncore/net/opietooth/lib/remotedevice.h +++ b/noncore/net/opietooth/lib/remotedevice.h | |||
@@ -3,26 +3,28 @@ | |||
3 | #define OpieToothRemoteDevice | 3 | #define OpieToothRemoteDevice |
4 | 4 | ||
5 | #include <qvaluelist.h> | 5 | #include <qvaluelist.h> |
6 | 6 | ||
7 | namespace OpieTooth{ | 7 | namespace OpieTooth{ |
8 | class RemoteDevice { | 8 | class RemoteDevice { |
9 | public: | 9 | public: |
10 | typedef QValueList<RemoteDevice> ValueList; | 10 | typedef QValueList<RemoteDevice> ValueList; |
11 | RemoteDevice(); | 11 | RemoteDevice(); |
12 | RemoteDevice(const RemoteDevice& ); | 12 | RemoteDevice(const RemoteDevice& ); |
13 | RemoteDevice(const QString &mac, const QString &name ); | 13 | RemoteDevice(const QString &mac, const QString &name ); |
14 | ~RemoteDevice(); | 14 | ~RemoteDevice(); |
15 | friend bool operator==(const RemoteDevice&, const RemoteDevice&); | 15 | // friend bool operator==(const RemoteDevice&, const RemoteDevice&); |
16 | RemoteDevice &operator=(const RemoteDevice& ); | 16 | RemoteDevice &operator=(const RemoteDevice& ); |
17 | bool isEmpty()const; | 17 | bool isEmpty()const; |
18 | QString mac()const; | 18 | QString mac()const; |
19 | void setMac(const QString& mac ); | 19 | void setMac(const QString& mac ); |
20 | QString name()const; | 20 | QString name()const; |
21 | void setName( const QString& name ); | 21 | void setName( const QString& name ); |
22 | bool equals( const RemoteDevice& )const; | ||
22 | private: | 23 | private: |
23 | QString m_name; | 24 | QString m_name; |
24 | QString m_mac; | 25 | QString m_mac; |
25 | }; | 26 | }; |
27 | bool operator==( const RemoteDevice&, const RemoteDevice& ); | ||
26 | }; | 28 | }; |
27 | 29 | ||
28 | #endif | 30 | #endif |