rpms/libbtctl/FC-6 libbtctl-0.6.0-inquiry_with_rssi.patch, NONE, 1.1 libbtctl.spec, 1.44, 1.45
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Jul 18 11:38:55 UTC 2007
- Previous message (by thread): rpms/firefox/FC-6 mozilla-178993.patch, NONE, 1.1 mozilla-358594.patch, NONE, 1.1 mozilla-379245.patch, NONE, 1.1 mozilla-381300.patch, NONE, 1.1 mozilla-382532.patch, NONE, 1.1 mozilla-384925.patch, NONE, 1.1 .cvsignore, 1.30, 1.31 firefox.spec, 1.170, 1.171 sources, 1.37, 1.38
- Next message (by thread): rpms/libbtctl/FC-6 libbtctl.spec,1.45,1.46
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ovasik
Update of /cvs/dist/rpms/libbtctl/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv3734
Modified Files:
libbtctl.spec
Added Files:
libbtctl-0.6.0-inquiry_with_rssi.patch
Log Message:
added inquiry_with_rssi functionality - taken from libbtctl-0.9.0 (should make gnome-obex-send able to detect devices in GUI)
libbtctl-0.6.0-inquiry_with_rssi.patch:
btctl-discovery-source.c | 1 +
btctl-discovery-test.c | 26 ++++++++++++++++++++++++++
btctlimpl.c | 35 +++++++++++++++++++++++++++++++++++
btlist.py | 30 ++++++++++++++++++++++++++++++
btobex-client-test.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
btobex-client.c | 41 +++++++++++++++++++++++++++++++++++++++++
btobex-client.h | 10 ++++++----
btobex-test.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
btobex.c | 2 +-
btobex.h | 14 +++++++-------
obex-server-source.c | 4 ++++
11 files changed, 239 insertions(+), 12 deletions(-)
--- NEW FILE libbtctl-0.6.0-inquiry_with_rssi.patch ---
diff -urNp libbtctl-0.8.2/src/btctl-discovery-source.c devel/src/btctl-discovery-source.c
--- libbtctl-0.8.2/src/btctl-discovery-source.c 2006-05-09 23:09:53.000000000 +0200
+++ devel/src/btctl-discovery-source.c 2007-07-12 14:25:15.000000000 +0200
@@ -180,6 +180,7 @@ btctl_discovery_source_new ()
hci_filter_clear(&flt);
hci_filter_set_ptype(HCI_EVENT_PKT, &flt);
hci_filter_set_event(EVT_INQUIRY_RESULT, &flt);
+ hci_filter_set_event(EVT_INQUIRY_RESULT_WITH_RSSI, &flt);
hci_filter_set_event(EVT_INQUIRY_COMPLETE, &flt);
hci_filter_set_event(EVT_CONN_REQUEST, &flt);
hci_filter_set_event(EVT_CONN_COMPLETE, &flt);
diff -urNp libbtctl-0.8.2/src/btctl-discovery-test.c devel/src/btctl-discovery-test.c
--- libbtctl-0.8.2/src/btctl-discovery-test.c 2006-05-09 23:10:19.000000000 +0200
+++ devel/src/btctl-discovery-test.c 2007-07-12 14:25:15.000000000 +0200
@@ -40,6 +40,7 @@ static gboolean cb_hci_data (BtctlDiscov
static void name_request (int dd, bdaddr_t bdaddr);
static void inquiry_result(int dd, unsigned char *buf, int len);
+static void inquiry_result_with_rssi(int dd, unsigned char *buf, int len);
static void conn_request(int dd, unsigned char *buf, int len);
static void conn_complete(int dd, unsigned char *buf, int len);
static void name_complete(int dd, unsigned char *buf, int len);
@@ -68,6 +69,28 @@ inquiry_result(int dd, unsigned char *bu
}
static void
+inquiry_result_with_rssi(int dd, unsigned char *buf, int len)
+{
+ inquiry_info_with_rssi *info;
+ uint8_t num;
+ char addr[18];
+ int i;
+ uint32_t devclass;
+
+ num = buf[0];
+ printf("inquiry_result_with_rssi:\tnum %d\n", num);
+
+ for (i = 0; i < num; i++) {
+ info = (void *) (buf + (sizeof(*info) * i) + 1);
+ ba2str(&info->bdaddr, addr);
+ devclass = (uint32_t)(info->dev_class[2]) << 16 |
+ (uint32_t)(info->dev_class[1]) << 8 |
+ (uint32_t)(info->dev_class[0]);
+ printf("inquiry_result_with_rssi:\tbdaddr %s class %x\n", addr, devclass);
+ }
+}
+
+static void
conn_request(int dd, unsigned char *buf, int len)
{
evt_conn_request *evt = (void *) buf;
@@ -160,6 +183,9 @@ cb_hci_data (BtctlDiscoverySource *sourc
case EVT_INQUIRY_RESULT:
inquiry_result(source->fd.fd, ptr, len);
break;
+ case EVT_INQUIRY_RESULT_WITH_RSSI:
+ inquiry_result_with_rssi(source->fd.fd, ptr, len);
+ break;
case EVT_INQUIRY_COMPLETE:
inquiry_complete(source->fd.fd);
break;
diff -urNp libbtctl-0.8.2/src/btctlimpl.c devel/src/btctlimpl.c
--- libbtctl-0.8.2/src/btctlimpl.c 2006-11-08 15:45:05.000000000 +0100
+++ devel/src/btctlimpl.c 2007-07-12 14:25:15.000000000 +0200
@@ -80,6 +80,8 @@ static gboolean cb_hci_data (BtctlDiscov
static void name_request (BtctlController *bc, bdaddr_t *bdaddr);
static void inquiry_result (BtctlController *bc, int dd, unsigned char *buf,
int len);
+static void inquiry_result_with_rssi (BtctlController *bc, int dd,
+ unsigned char *buf, int len);
static void conn_request (BtctlController *bc, int dd, unsigned char *buf,
int len);
static void conn_complete (BtctlController *bc, int dd, unsigned char *buf,
@@ -908,6 +910,36 @@ inquiry_result(BtctlController *bc, int
}
static void
+inquiry_result_with_rssi(BtctlController *bc, int dd, unsigned char *buf, int len)
+{
+ inquiry_info_with_rssi *info;
+ uint8_t num;
+ char addr[18];
+ int i;
+ uint32_t devclass;
+ bdaddr_t *nb;
+
+ num = buf[0];
+
+ for (i = 0; i < num; i++) {
+ info = (void *) (buf + (sizeof(*info) * i) + 1);
+ ba2str(&info->bdaddr, addr);
+ devclass = (uint32_t)(info->dev_class[2]) << 16 |
+ (uint32_t)(info->dev_class[1]) << 8 |
+ (uint32_t)(info->dev_class[0]);
+ g_message ("inquiry_result_with_rssi:\tbdaddr %s class %x", addr, devclass);
+ nb = g_new0(bdaddr_t, 1);
+ bacpy(nb, &info->bdaddr);
+ /* inquiry can generate multiple identical results, so make
+ * sure we only log each once */
+ if (! g_slist_find_custom (bc->found, (gpointer)nb, bdaddr_comparator)) {
+ bc->found = g_slist_append (bc->found, (gpointer)nb);
+ btctl_controller_got_device (bc, addr, devclass);
+ }
+ }
+}
+
+static void
conn_request(BtctlController *bc, int dd, unsigned char *buf, int len)
{
evt_conn_request *evt = (void *) buf;
@@ -1029,6 +1061,9 @@ cb_hci_data (BtctlDiscoverySource *sourc
case EVT_INQUIRY_RESULT:
inquiry_result(bc, source->fd.fd, ptr, len);
break;
+ case EVT_INQUIRY_RESULT_WITH_RSSI:
+ inquiry_result_with_rssi(bc, source->fd.fd, ptr,len);
+ break;
case EVT_INQUIRY_COMPLETE:
inquiry_complete(bc, source->fd.fd);
break;
diff -urNp libbtctl-0.8.2/src/btlist.py devel/src/btlist.py
--- libbtctl-0.8.2/src/btlist.py 1970-01-01 01:00:00.000000000 +0100
+++ devel/src/btlist.py 2007-07-12 14:25:15.000000000 +0200
@@ -0,0 +1,30 @@
+#!/usr/bin/python
+
+import sys
+import btctl
+
+def status_callback (bt, field):
+ print ("got status %d" % (field))
+
+def add_device_callback (bt, name, clsid):
+ print ("got device %s (%d)" % (name, clsid))
+
+def device_name_callback (bt, device, name):
+ print ("device %s is called %s" % (device, name))
+
+def add_device_service_callback (bt, addr, name, clsid, channel):
+ print ("device %s (%s) has service %d channel %d" % (addr, name, clsid, channel))
+
+bt = btctl.Controller()
+bt.connect("status_change", status_callback);
+bt.connect("add_device", add_device_callback);
+bt.connect("device_name", device_name_callback);
+bt.connect("add_device_service", add_device_service_callback);
+
+if not bt.is_initialised():
+ print ("No device to initialise")
+ sys.exit (1)
+
+bt.list_rfcomm_connections()
+bt.discover_devices();
+
diff -urNp libbtctl-0.8.2/src/btobex.c devel/src/btobex.c
--- libbtctl-0.8.2/src/btobex.c 2006-01-29 16:24:48.000000000 +0100
+++ devel/src/btobex.c 2007-07-12 14:25:15.000000000 +0200
@@ -178,7 +178,7 @@ btctl_obex_init (BtctlObex *bo)
* Return value: a pointer to the controller object.
**/
BtctlObex*
-btctl_obex_new()
+btctl_obex_new(void)
{
return BTCTL_OBEX (g_object_new (btctl_obex_get_type(), NULL));
}
diff -urNp libbtctl-0.8.2/src/btobex-client.c devel/src/btobex-client.c
--- libbtctl-0.8.2/src/btobex-client.c 2005-06-12 14:48:49.000000000 +0200
+++ devel/src/btobex-client.c 2007-07-12 14:25:15.000000000 +0200
@@ -50,6 +50,7 @@ enum {
COMPLETE_SIGNAL,
ERROR_SIGNAL,
CONNECTED_SIGNAL,
+ DISCONNECTED_SIGNAL,
LAST_SIGNAL
};
@@ -103,6 +104,15 @@ btctl_obex_client_class_init (BtctlObexC
btctl_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
+ btctl_obex_client_signals[DISCONNECTED_SIGNAL] =
+ g_signal_new ("disconnected",
+ G_OBJECT_CLASS_TYPE(klass),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET(BtctlObexClientClass, disconnected),
+ NULL /* accu */, NULL,
+ btctl_marshal_VOID__STRING,
+ G_TYPE_NONE, 1, G_TYPE_STRING);
+
object_class->finalize = btctl_obex_client_finalize;
klass->progress = NULL;
@@ -167,6 +177,26 @@ btctl_obex_client_new_and_connect (gchar
return bo;
}
+/**
+ * btctl_obex_client_disconnect:
+ * @bo: Bluetooth OBEX client object.
+ *
+ * Disconnect a connected Bluetooth client. On successful completion
+ * of this, the #disconnected signal will be emitted.
+ *
+ * Return value: boolean, true if the disconnect request was sent.
+ **/
+gboolean
+btctl_obex_client_disconnect (BtctlObexClient *bo)
+{
+ g_return_val_if_fail (bo != NULL, FALSE);
+ g_return_val_if_fail (bo->source && bo->source->initialised, FALSE);
+
+ btctl_obexclient_source_disconnect (bo->source);
+
+ return TRUE;
+}
+
static void
btctl_obex_client_finalize(GObject *obj)
{
@@ -213,6 +243,14 @@ btctl_obex_client_emit_connected (BtctlO
}
static void
+btctl_obex_client_emit_disconnected (BtctlObexClient *bo, gchar *bdaddr)
+{
+ g_signal_emit (G_OBJECT (bo),
+ btctl_obex_client_signals[DISCONNECTED_SIGNAL],
+ 0, bdaddr);
+}
+
+static void
btctl_obex_client_emit_error (BtctlObexClient *bo, gchar *bdaddr, guint reason)
{
g_signal_emit (G_OBJECT (bo),
@@ -289,6 +327,9 @@ maincb (BtctlObexclientSource *src, Btct
case OBEX_CMD_CONNECT:
btctl_obex_client_emit_connected (bo, src->peer_name);
break;
+ case OBEX_CMD_DISCONNECT:
+ btctl_obex_client_emit_disconnected (bo, src->peer_name);
+ break;
}
break;
case OBEX_EV_PROGRESS:
diff -urNp libbtctl-0.8.2/src/btobex-client.h devel/src/btobex-client.h
--- libbtctl-0.8.2/src/btobex-client.h 2004-06-04 02:44:27.000000000 +0200
+++ devel/src/btobex-client.h 2007-07-12 14:25:15.000000000 +0200
@@ -51,10 +51,11 @@ struct _BtctlObexClient
struct _BtctlObexClientClass
{
GObjectClass parent_class;
- void (* progress) (BtctlObexClient *bc, gchar *bdaddr);
- void (* complete) (BtctlObexClient *bc, gchar *bdaddr);
- void (* error) (BtctlObexClient *bc, gchar *bdaddr, guint code);
- void (* connected) (BtctlObexClient *bc, gchar *bdaddr);
+ void (* progress) (BtctlObexClient *bc, const gchar *bdaddr);
+ void (* complete) (BtctlObexClient *bc, const gchar *bdaddr);
+ void (* error) (BtctlObexClient *bc, const gchar *bdaddr, guint code);
+ void (* connected) (BtctlObexClient *bc, const gchar *bdaddr);
+ void (* disconnected) (BtctlObexClient *bc, const gchar *bdaddr);
};
/* Gtk housekeeping methods */
@@ -65,6 +66,7 @@ BtctlObexClient* btctl_obex_client_new (
/* public methods */
BtctlObexClient* btctl_obex_client_new_and_connect (gchar *bdaddr, guint channel);
+gboolean btctl_obex_client_disconnect (BtctlObexClient *bo);
gboolean btctl_obex_client_is_initialised (BtctlObexClient *bo);
void btctl_obex_client_set_response (BtctlObexClient *bo, gboolean resp);
gboolean btctl_obex_client_push_data (BtctlObexClient *bo, gchar *fname, const guchar * data, guint len);
diff -urNp libbtctl-0.8.2/src/btobex-client-test.py devel/src/btobex-client-test.py
--- libbtctl-0.8.2/src/btobex-client-test.py 1970-01-01 01:00:00.000000000 +0100
+++ devel/src/btobex-client-test.py 2007-07-12 14:25:15.000000000 +0200
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+
+import sys
+import btctl
+import gtk
+import gobject
+
+# example obex client in python
+
+def progress_callback (bo, bdaddr):
+ print ("got progress from %s" % (bdaddr))
+
+def error_callback (bo, bdaddr, err):
+ print ("got error %d from %s" % (err, bdaddr))
+
+def complete_callback (bo, bdaddr):
+ print ("transfer complete from %s" % (bdaddr))
+ gobject.idle_add (quit_me, bo)
+
+def connected_callback (bo, bdaddr):
+ print ("connected ok to %s" % (bdaddr))
+ gobject.idle_add (send_hello, bo)
+
+# idle handlers to perform functions
+
+def quit_me (bo):
+ gtk.main_quit ()
+
+def send_hello (bo):
+ bo.push_data ("hello.txt", "Hello, Python World!")
+
+bo = btctl.ObexClient("00:40:05:C1:4E:ED", 4)
+bo.connect("progress", progress_callback);
+bo.connect("error", error_callback);
+bo.connect("complete", complete_callback);
+bo.connect("connected", connected_callback);
+
+if not bo.is_initialised():
+ print ("Client not initialised")
+ sys.exit (1)
+
+
+
+gtk.main ()
diff -urNp libbtctl-0.8.2/src/btobex.h devel/src/btobex.h
--- libbtctl-0.8.2/src/btobex.h 2006-01-29 16:24:48.000000000 +0100
+++ devel/src/btobex.h 2007-07-12 14:25:15.000000000 +0200
@@ -50,13 +50,13 @@ struct _BtctlObex
struct _BtctlObexClass
{
GObjectClass parent_class;
- void (* request_put) (BtctlObex *bc, gchar *bdaddr);
- void (* put) (BtctlObex *bc, gchar *bdaddr, gchar *fname, gpointer data, guint len);
- void (* progress) (BtctlObex *bc, gchar *bdaddr);
- void (* complete) (BtctlObex *bc, gchar *bdaddr);
- void (* error) (BtctlObex *bc, gchar *bdaddr, guint code);
- void (* connect) (BtctlObex *bc, gchar *bdaddr);
- void (* disconnect) (BtctlObex *bc, gchar *bdaddr);
+ void (* request_put) (BtctlObex *bc, const gchar *bdaddr);
+ void (* put) (BtctlObex *bc, const gchar *bdaddr, const gchar *fname, gpointer data, guint len);
+ void (* progress) (BtctlObex *bc, const gchar *bdaddr);
+ void (* complete) (BtctlObex *bc, const gchar *bdaddr);
+ void (* error) (BtctlObex *bc, const gchar *bdaddr, guint code);
+ void (* connect) (BtctlObex *bc, const gchar *bdaddr);
+ void (* disconnect) (BtctlObex *bc, const gchar *bdaddr);
};
/* Gtk housekeeping methods */
diff -urNp libbtctl-0.8.2/src/btobex-test.py devel/src/btobex-test.py
--- libbtctl-0.8.2/src/btobex-test.py 1970-01-01 01:00:00.000000000 +0100
+++ devel/src/btobex-test.py 2007-07-12 14:25:15.000000000 +0200
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+
+import os
+import sys
+import btctl
+import gtk
+
+# example obex server in python
+
+def progress_callback (bo, bdaddr):
+ print ("got progress from %s" % (bdaddr))
+
+def request_put_callback (bo, bdaddr):
+ print ("device %s wants to send a file" % (bdaddr))
+ bo.set_response (True)
+
+def put_callback (bo, bdaddr, fname, body, timestamp):
+ print ("device %s sent a file" % (bdaddr))
+ print "Filename %s, timestamp %d " % (fname, timestamp)
+ f = open("/tmp" + os.sep + fname,'wb')
+ f.write(body)
+ f.close()
+ print "File saved in /tmp" + os.sep + fname
+ bo.set_response (True)
+
+def error_callback (bo, bdaddr, err):
+ print ("got error %d from %s" % (err, bdaddr))
+
+def complete_callback (bo, bdaddr):
+ print ("transfer complete from %s" % (bdaddr))
+
+bo = btctl.Obex()
+bo.connect("progress", progress_callback);
+bo.connect("request-put", request_put_callback);
+bo.connect("put", put_callback);
+bo.connect("error", error_callback);
+bo.connect("complete", complete_callback);
+
+if not bo.is_initialised():
+ print ("Server not initialised")
+ sys.exit (1)
+
+print "Send me files. Hit Ctrl-C to terminate."
+gtk.main ()
diff -urNp libbtctl-0.8.2/src/obex-server-source.c devel/src/obex-server-source.c
--- libbtctl-0.8.2/src/obex-server-source.c 2006-08-23 00:40:57.000000000 +0200
+++ devel/src/obex-server-source.c 2007-07-12 14:25:15.000000000 +0200
@@ -189,6 +189,10 @@ obex_event (obex_t *handle, obex_object_
invoke_callback (s, event, 0, obj);
break;
+ case OBEX_EV_REQCHECK:
+ /* g_warning ("OBEX_EV_REQCHECK"); */
+ break;
+
default:
g_warning ("Unhandled OBEX event %d", event);
break;
Index: libbtctl.spec
===================================================================
RCS file: /cvs/dist/rpms/libbtctl/FC-6/libbtctl.spec,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- libbtctl.spec 26 Jun 2007 12:20:31 -0000 1.44
+++ libbtctl.spec 18 Jul 2007 11:38:52 -0000 1.45
@@ -8,7 +8,7 @@
Summary: Library for the GNOME Bluetooth Subsystem
Name: libbtctl
Version: 0.6.0
-Release: 9.2%{?dist}
+Release: 9.3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://usefulinc.com/software/gnome-bluetooth
@@ -28,6 +28,7 @@
Patch2: libbtctl-0.4.1-pydir.patch
Patch3: libbtctl-0.6.0-crash.patch
Patch4: libbtctl-0.6.0-print.patch
+Patch5: libbtctl-0.6.0-inquiry_with_rssi.patch
%description
Library for the GNOME Bluetooth Subsystem
@@ -51,6 +52,7 @@
%patch2 -p1 -b .pydir
#%patch3 -p1 -b .crash
%patch4 -p1 -b .print
+%patch5 -p1 -b .inquiryrssi
aclocal
automake -a
intltoolize -c -f
@@ -106,6 +108,11 @@
%endif
%changelog
+* Wed Jul 18 2007 Ondrej Vasik <ovasik at redhat.com> - 0.6.0.9.3
+- backported inquiry_result_with_rssi from 0.9.0(scan devices
+- functionality of gnome-obex-send) - will keep old version
+- because of dependencies (gnome-bluetooth)
+
* Tue Jun 26 2007 Ondrej Vasik <ovasik at redhat.com> - 0.6.0-9.2
- added dist flag, fixed wrong sources in cvs(causes troubles
- with gnome-bluetooth when used rpm compiled from them)
- Previous message (by thread): rpms/firefox/FC-6 mozilla-178993.patch, NONE, 1.1 mozilla-358594.patch, NONE, 1.1 mozilla-379245.patch, NONE, 1.1 mozilla-381300.patch, NONE, 1.1 mozilla-382532.patch, NONE, 1.1 mozilla-384925.patch, NONE, 1.1 .cvsignore, 1.30, 1.31 firefox.spec, 1.170, 1.171 sources, 1.37, 1.38
- Next message (by thread): rpms/libbtctl/FC-6 libbtctl.spec,1.45,1.46
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list