Phonet: add modem parameter to ISI client API
authorRémi Denis-Courmont <remi.denis-courmont@nokia.com>
Tue, 18 Aug 2009 11:34:27 +0000 (14:34 +0300)
committerAki Niemi <aki.niemi@nokia.com>
Wed, 19 Aug 2009 14:07:15 +0000 (17:07 +0300)
drivers/isimodem/isimodem.c
drivers/isimodem/isiphonebook.c
gisi/client.c
gisi/client.h
gisi/pipe.c

index 8c6b40d..c9b523d 100644 (file)
@@ -418,7 +418,7 @@ static void netlink_status_cb(bool up, uint8_t addr, GIsiModem *idx,
 
        if (up) {
                if (!client) {
-                       client = g_isi_client_create(PN_PHONE_INFO);
+                       client = g_isi_client_create(idx, PN_PHONE_INFO);
                        if (!client)
                                return;
                }
index 10e353a..407d066 100644 (file)
@@ -390,7 +390,8 @@ static int isi_phonebook_probe(struct ofono_phonebook *pb)
        struct pb_data *pbd;
        
        if (!client) {
-               client = g_isi_client_create(PN_SIM);
+               /* FIXME: pass GIsiModem object */
+               client = g_isi_client_create(NULL, PN_SIM);
                if (!client)
                        return -ENOMEM;
        }
index 3b86577..8f42565 100644 (file)
@@ -84,7 +84,7 @@ static inline GIsiClient *g_isi_cl(void *ptr)
  * @param resource PhoNet resource ID for the client
  * @return NULL on error (see errno), a GIsiClient pointer on success,
  */
-GIsiClient *g_isi_client_create(uint8_t resource)
+GIsiClient *g_isi_client_create(GIsiModem *modem, uint8_t resource)
 {
        void *ptr;
        GIsiClient *cl;
@@ -112,7 +112,7 @@ GIsiClient *g_isi_client_create(uint8_t resource)
        cl->next[254] = 0;
        cl->prev[255] = cl->next[255] = 255;
 
-       channel = phonet_new(NULL, resource);
+       channel = phonet_new(modem, resource);
        if (channel == NULL) {
                free(cl);
                return NULL;
index 660b1ea..8f9c7bf 100644 (file)
@@ -30,6 +30,7 @@ extern "C" {
 
 #include <stdint.h>
 #include <stdbool.h>
+#include <gisi/modem.h>
 
 struct _GIsiClient;
 typedef struct _GIsiClient GIsiClient;
@@ -45,7 +46,7 @@ typedef void (*GIsiIndicationFunc) (GIsiClient *client,
                const void *restrict data, size_t len,
                uint16_t object, void *opaque);
 
-GIsiClient *g_isi_client_create(uint8_t resource);
+GIsiClient *g_isi_client_create(GIsiModem *modem, uint8_t resource);
 
 uint8_t g_isi_client_resource(GIsiClient *client);
 
index 73116dc..8f30ed3 100644 (file)
@@ -191,7 +191,7 @@ GIsiPipe *g_isi_pipe_create(uint16_t obj1, uint16_t obj2,
        };
        GIsiPipe *pipe = g_malloc(sizeof(*pipe));
 
-       pipe->client = g_isi_client_create(PN_PIPE);
+       pipe->client = g_isi_client_create(NULL, PN_PIPE);
        pipe->error = 0;
        pipe->enabling = false;
        pipe->enabled = false;