Changeset 34

Show
Ignore:
Timestamp:
09/05/07 15:09:23 (15 months ago)
Author:
zany
Message:

removing bluez dependency

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r33 r34  
    112007-09-05  Christian W. Zuckschwerdt  <zany@triq.net> 
    22 
     3        * Removing Bluez dependency 
    34        * Switching ObexFTP to pkg-config 
    45 
  • trunk/fuse/obexautofs.c

    r32 r34  
    4747#include <sys/socket.h> 
    4848 
    49 #include <bluetooth/bluetooth.h> 
    50 #include <bluetooth/hci.h> 
    51 #include <bluetooth/hci_lib.h> 
    52  
    5349#include <obexftp/obexftp.h> 
    5450#include <obexftp/client.h> 
     
    136132static int discover_bt(void) 
    137133{ 
    138         inquiry_info *info = NULL; 
    139         bdaddr_t bdswap; 
    140         char name[248], *bastr; 
    141         int dev_id = 0; 
    142         int num_rsp = 10; 
    143         int flags = 0; 
    144         int length = 8; 
    145         int dd, i; 
     134        char *hci = NULL; 
     135        char **devs, **dev, *name; 
    146136        connection_t *conn; 
    147137 
    148138        DEBUG("Scanning ...\n"); 
    149         num_rsp = hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags); 
    150  
    151         if(num_rsp < 0) { 
     139        devs = obexftp_discover_bt_src(hci); 
     140 
     141        if(!devs) { 
    152142                perror("Inquiry failed."); 
    153143                return -1; 
    154144        } 
    155  
    156         if ((dd = hci_open_dev(dev_id)) < 0) { 
    157                 perror("HCI device open failed"); 
    158                 free(info); 
    159                 return -1; 
    160         } 
    161145   
    162         for(i = 0; i < num_rsp; i++) { 
    163                 memset(name, 0, sizeof(name)); 
    164  
    165                 baswap(&bdswap, &(info+i)->bdaddr); 
    166                 bastr = batostr(&bdswap); 
    167  
    168                 if(hci_read_remote_name(dd, &(info+i)->bdaddr, sizeof(name), name, 10000) < 0) { 
    169                         strcpy(name, bastr); 
    170                 } 
    171  
     146        for(dev = devs; dev && *dev; dev++) { 
    172147                for (conn = connections; conn; conn = conn->next) { 
    173                         if (!strcmp(conn->addr, bastr)) { 
     148                        if (!strcmp(conn->addr, *dev)) { 
    174149                                conn->recent++; 
    175150                                break; 
     
    178153         
    179154                if (!conn) { 
    180                         DEBUG("Adding\t%s\t%s\n", bastr, name); 
     155                        name = obexftp_bt_name_src(*dev, hci); 
     156                        DEBUG("Adding\t%s\t%s\n", *dev, name); 
    181157                        conn = calloc(1, sizeof(connection_t)); 
    182158                        if (!conn) 
    183159                                return -1; 
    184                         conn->alias = strdup(name); 
     160                        conn->alias = name; 
    185161                        conn->transport = OBEX_TRANS_BLUETOOTH; 
    186                         conn->addr = bastr; 
     162                        conn->addr = *dev; 
    187163                        conn->channel = obexftp_browse_bt_ftp(conn->addr); 
    188                         //conn->cli = cli_open(OBEX_TRANS_BLUETOOTH, batostr(&bdswap), 5); 
     164                        //conn->cli = cli_open(OBEX_TRANS_BLUETOOTH, conn->addr, conn->channel); 
    189165                        conn->recent++; 
    190166                        conn->next = connections; 
    191167                        connections = conn; 
    192168                } else 
    193                         free(bastr); 
     169                        free(*dev); 
    194170        } 
    195171   
    196         close(dd); 
    197         free(info); 
    198    
     172        free(devs); 
    199173        return 0; 
    200174}