gisi: store user data in GIsiModem
authorMika Liljeberg <mika.liljeberg@nokia.com>
Thu, 25 Nov 2010 14:52:10 +0000 (16:52 +0200)
committerAki Niemi <aki.niemi@nokia.com>
Wed, 22 Dec 2010 15:13:47 +0000 (17:13 +0200)
gisi/modem.c
gisi/modem.h

index 971d09e..7476bef 100644 (file)
@@ -62,6 +62,7 @@ struct _GIsiModem {
        guint ind_watch;
        GIsiNotifyFunc debug;
        void *ddata;
+       void *opaque;
 };
 
 struct _GIsiPending {
@@ -430,6 +431,19 @@ GIsiModem *g_isi_modem_create_by_name(const char *name)
        return g_isi_modem_create(if_nametoindex(name));
 }
 
+void *g_isi_modem_set_userdata(GIsiModem *modem, void *data)
+{
+       void *old = modem->opaque;
+
+       modem->opaque = data;
+       return old;
+}
+
+void *g_isi_modem_get_userdata(GIsiModem *modem)
+{
+       return modem->opaque;
+}
+
 static uint8_t service_next_utid(GIsiServiceMux *mux)
 {
        if (mux->last_utid == 0x00 || mux->last_utid == 0xFF)
index 50f1f05..9c67b51 100644 (file)
@@ -46,6 +46,8 @@ void g_isi_modem_destroy(GIsiModem *modem);
 unsigned g_isi_modem_index(GIsiModem *modem);
 void g_isi_modem_set_debug(GIsiModem *modem, GIsiNotifyFunc notify,
                                void *opaque);
+void *g_isi_modem_set_userdata(GIsiModem *modem, void *data);
+void *g_isi_modem_get_userdata(GIsiModem *modem);
 
 GIsiPending *g_isi_request_send(GIsiModem *modem, uint8_t resource,
                                        const void *__restrict buf, size_t len,