[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kdebluetooth-dbus-integration
From: Tom Patzig <tpatzig () suse ! de>
Date: 2007-04-30 22:22:06
Message-ID: 1177971726.028351.30513.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 659855 by tpatzig:
added Support for HID Info
M +17 -85 kbluemon/monitor.cpp
M +2 -0 libkbluetooth/servicerecord.cpp
M +2 -0 libkbluetooth/servicerecord.h
--- branches/work/kdebluetooth-dbus-integration/kbluemon/monitor.cpp #659854:659855
@@ -34,7 +34,6 @@
-
Monitor::Monitor() : MonDialog()
{
KBluetooth::DBusInit *dbus = new KBluetooth::DBusInit();
@@ -88,8 +87,18 @@
(**it).rssi = rssi;
QListViewItem *tmp = listView1->findItem((**it).name,0,Qt::ExactMatch);
tmp->setText(1,signal);
+ if ((**it).version == "<i>not available</i>") {
+
+ (**it).version = adapter->getRemoteVersion(name);
+ (**it).revision = adapter->getRemoteRevision(name);
+ (**it).major_class = adapter->getRemoteMajorClass(name);
+ (**it).manufacturer = adapter->getRemoteManufacturer(name);
+
+ }
if (dev_addr->text() == (**it).addr) {
strength->setProgress(rssi);
+ if ((**it).version == "<i>not available</i>")
+ chg_details(tmp);
}
return;
@@ -155,15 +164,20 @@
KBluetooth::ServiceRecord record = adapter->getRemoteServiceRecord(add->addr, \
*each);
- if ((rx.search( record.name() ) < 0) && (record.name() != ""))
+ if ((rx.search( record.name() ) < 0) && (record.name() != ""))
add->services.push_back( record.name() );
+
+ if ( record.servId().grep("0x1124").size() >= 1)
+
+ add->services.push_back( "Human Interface Device" );
+
if (add->devInfo == "" && record.typ() != "")
add->devInfo = record.typ();
}
- if (!add->devInfo)
+ if (!add->devInfo || add->devInfo == "" )
add->devInfo = QString("<i>not available</i>");
} else {
add->services.push_back("no Services discovered");
@@ -173,90 +187,8 @@
}
-/*
-void Monitor::getServices(RemoteDevice* add) {
- bool found = 0;
- KBluetooth::Adapter::ServiceHandleList dev_serves;
- KBluetooth::Adapter::ServiceHandleList::iterator each;
-
- const char *_address = add->addr.latin1();
- const char *_match = "";
- int num_services = 0;
- Q_UINT32 *services = NULL;
- DBusMessage *reply = NULL;
- DBusError error;
- dbus_error_init(&error);
- path = manager->defaultAdapter();
- KBluetooth::DBusSignal message("GetRemoteServiceHandles", path.ascii(), \
INTERFACE_ADAPTER, BLUEZ_SERVICE, conn);
- message.appendArgs(DBUS_TYPE_STRING, &_address, DBUS_TYPE_STRING, &_match, \
DBUS_TYPE_INVALID);
- reply = message.sendWithReply(&error);
-
- if (reply) {
- message.getArgs(reply, NULL, DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32, &services, \
&num_services, DBUS_TYPE_INVALID);
- for (int i = 0; i < num_services; i++)
- dev_serves.append(services[i]);
-
- dbus_message_unref(reply);
- } else {
- if (dbus_error_is_set(&error)) {
-
- kdDebug() << "kbluemon: " << __func__ << "(): " << \
error.message << endl;
- dbus_error_free(&error);
- }
-
- add->services.push_back("not available");
- add->devInfo = QString("<i>not available</i>");
- return;
- }
-
- // dbus_message_unref(reply);
-
-
- if (!dev_serves.empty()) {
-
- for (each = dev_serves.begin(); each!= dev_serves.end(); ++each) {
-
-
- kdDebug() << k_funcinfo <<"EACH:" << \
adapter->getRemoteServiceRecordAsXML(add->addr,*each) << endl;
-
- QDomDocument doc;
- doc.setContent( adapter->getRemoteServiceRecordAsXML(add->addr,*each) );
- QDomElement docElement = doc.documentElement();
- QDomNode n;
-
- for( n = docElement.firstChild(); !n.isNull(); n = n.nextSibling() ) {
- QDomElement e = n.toElement();
-
-// kdDebug() << k_funcinfo <<"Stufe1 "<<e.tagName() << endl;
- if (e.attribute("id") == "0x0101" && !found ) {
- QDomNodeList list = e.elementsByTagName("text");
- add->devInfo = list.item(0).toElement().attribute("value");
- found = 1;
-
- } else if ( e.attribute("id") == "0x0100" ) {
- QDomNodeList list = e.elementsByTagName("text");
- for (uint i=0;i <list.count(); ++i) {
- QString serv = list.item(i).toElement().attribute("value");
- if (rx.search(serv) < 0)
- add->services.push_back(serv);
-// kdDebug() << k_funcinfo << serv <<endl;
- }
- }
- if (add->devInfo == "")
- add->devInfo = QString("<i>not available</i>");
- }
- }
-// add->services.pop_back();
- } else
- add->services.push_back("no Services discovered");
-
-
-
-}
-*/
-
void Monitor::chg_name(const QString& add, const QString& name) {
kdDebug() << k_funcinfo << endl;
--- branches/work/kdebluetooth-dbus-integration/libkbluetooth/servicerecord.cpp \
#659854:659855 @@ -41,6 +41,8 @@
if ( e.attribute("id") == "0x0001" ) {
mUuid = parseAttributeUuid(e);
+ } else if ( e.attribute("id") == "0x0009" ) {
+ mServId = parseAttributeUuid(e);
} else if ( e.attribute("id") == "0x0004" ) {
mRfcommChannel = parseAttributeRfcomm(e);
} else if ( e.attribute("id") == "0x0100" ) {
--- branches/work/kdebluetooth-dbus-integration/libkbluetooth/servicerecord.h \
#659854:659855 @@ -45,6 +45,7 @@
int rfcommChannel() { return mRfcommChannel; };
QString name() { return mName; };
QStringList uuid() { return mUuid; };
+ QStringList servId() { return mServId; };
QString typ() { return mTyp; };
private:
@@ -56,6 +57,7 @@
QString mName;
QString mTyp;
QStringList mUuid;
+ QStringList mServId;
int mRfcommChannel;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic