libnmserver.pc.in | 2 +-
src/Makefile.am | 14 ++++++++++----
src/libnmserver-dbus.c | 4 ++--
src/libnmserver-internal.h | 1 +
src/libnmserver.c | 5 ++++-
src/libnmserver.h | 7 ++++---
src/main.c | 4 ++--
7 files changed, 24 insertions(+), 13 deletions(-)
New commits:
commit 2c19c585318780e3aaf821e033245e8894803c49
Author: Adam Tkac <atkac(a)redhat.com>
Date: Fri Dec 10 14:38:47 2010 +0100
Install headers into $includedir/libnmserver.
Signed-off-by: Adam Tkac <atkac(a)redhat.com>
diff --git a/libnmserver.pc.in b/libnmserver.pc.in
index 1776ad8..494cbec 100644
--- a/libnmserver.pc.in
+++ b/libnmserver.pc.in
@@ -8,4 +8,4 @@ Description: Callback library for NetworkManager
Version: 0.1
Requires: dbus-1
Libs: -L${libdir} -lnmserver
-Cflags: -I${includedir}/libnmserver-0/
+Cflags: -I${includedir}/libnmserver/
diff --git a/src/Makefile.am b/src/Makefile.am
index eddbf3a..b44032d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,16 +1,19 @@
AM_CFLAGS = -Wall -std=c99
lib_LTLIBRARIES = libnmserver.la
-libnmserver_la_SOURCES = libnmserver-dbus.c libnmserver.c nslist.c
+
+INTERNAL_HDRS = libnmserver-dbus.h libnmserver-internal.h nslist.h
+
+libnmserver_la_SOURCES = $(INTERNAL_HDRS) libnmserver-dbus.c libnmserver.c \
+ nslist.c
+
libnmserver_la_CFLAGS = $(DBUS_CFLAGS) $(AM_CFLAGS)
libnmserver_la_LIBADD = $(LIBOBJS) $(DBUS_LIBS)
#
http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
libnmserver_la_LDFLAGS = -version-info 1:0:0
-libnmserver_ladir = $(ladir)
-libnmserver_la_includedir = $(includedir)/libnmserver-0/
-libnmserver_la_HEADERS = libnmserver-dbus.h libnmserver-internal.h nslist.h
+libnmserver_la_includedir = $(includedir)/libnmserver/
libnmserver_la_include_HEADERS = libnmserver.h
bin_PROGRAMS = libnmserver
commit fa2ba51aa408d0a452b7144e818c68d10fbbfaca
Author: Adam Tkac <atkac(a)redhat.com>
Date: Fri Dec 10 14:34:22 2010 +0100
Introduce new nmserver_callback() parameter called "data".
This parameter can be used by clients to pass arbitrary data
to every nmserver_callback call.
This change is not API/ABI backward compatible.
Signed-off-by: Adam Tkac <atkac(a)redhat.com>
diff --git a/src/Makefile.am b/src/Makefile.am
index 4ce943e..eddbf3a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,6 +5,9 @@ libnmserver_la_SOURCES = libnmserver-dbus.c libnmserver.c nslist.c
libnmserver_la_CFLAGS = $(DBUS_CFLAGS) $(AM_CFLAGS)
libnmserver_la_LIBADD = $(LIBOBJS) $(DBUS_LIBS)
+#
http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
+libnmserver_la_LDFLAGS = -version-info 1:0:0
+
libnmserver_ladir = $(ladir)
libnmserver_la_includedir = $(includedir)/libnmserver-0/
libnmserver_la_HEADERS = libnmserver-dbus.h libnmserver-internal.h nslist.h
diff --git a/src/libnmserver-dbus.c b/src/libnmserver-dbus.c
index 7cf7bb0..8d64b2e 100644
--- a/src/libnmserver-dbus.c
+++ b/src/libnmserver-dbus.c
@@ -349,7 +349,7 @@ nmserver_result_t
nmserver_dbus_callback_nameservers(nmserver_control_t *control
if (addrs == NULL)
return NMSERVER_R_MEMORY;
- control->nscallback(addrs);
+ control->nscallback(addrs, control->data);
free(addrs);
}
diff --git a/src/libnmserver-internal.h b/src/libnmserver-internal.h
index 0791ae8..a591ca7 100644
--- a/src/libnmserver-internal.h
+++ b/src/libnmserver-internal.h
@@ -38,6 +38,7 @@ struct nmserver_control {
int comm_pipe[2];
bool is_threaded;
pthread_t thread;
+ void *data;
};
#endif
diff --git a/src/libnmserver.c b/src/libnmserver.c
index 082d8ff..baac1fe 100644
--- a/src/libnmserver.c
+++ b/src/libnmserver.c
@@ -30,7 +30,8 @@
#include "libnmserver-internal.h"
#include "libnmserver-dbus.h"
-nmserver_result_t nmserver_control_create(nmserver_control_t **pcontrol)
+nmserver_result_t nmserver_control_create(nmserver_control_t **pcontrol,
+ void *data)
{
nmserver_control_t *control;
nmserver_result_t res;
@@ -57,6 +58,8 @@ nmserver_result_t nmserver_control_create(nmserver_control_t
**pcontrol)
goto cleanup;
}
+ control->data = data;
+
*pcontrol = control;
return NMSERVER_R_OK;
diff --git a/src/libnmserver.h b/src/libnmserver.h
index b40ca51..d89ebf6 100644
--- a/src/libnmserver.h
+++ b/src/libnmserver.h
@@ -58,7 +58,7 @@ typedef enum {
* do_whatever(*ptr);
* }
*/
-typedef void (*nmserver_nscallback_t) (in_addr_t *addrs);
+typedef void (*nmserver_nscallback_t) (in_addr_t *addrs, void *data);
/*
* Asynchronous error reports from libnmserver. Check result to get more
@@ -70,9 +70,10 @@ typedef void (*nmserver_errcallback_t) (nmserver_result_t);
typedef struct nmserver_control nmserver_control_t;
/*
- * Create libnmserver control handle
+ * Create libnmserver control handle. "data" is passed as nscallback
parameter.
*/
-nmserver_result_t nmserver_control_create(nmserver_control_t **pcontrol);
+nmserver_result_t nmserver_control_create(nmserver_control_t **pcontrol,
+ void *data);
/*
* Destroy libnmserver cotrol handle
diff --git a/src/main.c b/src/main.c
index 75b0715..164ce9e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -27,7 +27,7 @@
#include <netinet/in.h>
#include "libnmserver.h"
-void callback_ipv4_ns(in_addr_t *addr)
+void callback_ipv4_ns(in_addr_t *addr, void *data)
{
in_addr_t *ptr = addr;
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
{
nmserver_control_t *control = NULL;
- nmserver_control_create(&control);
+ nmserver_control_create(&control, NULL);
nmserver_nscallback_register(control, callback_ipv4_ns);
nmserver_errcallback_register(control, callback_error);
nmserver_threaded_run(control);
commit 24557f4e4cfb1d43c047068ba76f856fdfa8f2b3
Author: Adam Tkac <atkac(a)redhat.com>
Date: Fri Dec 10 12:44:28 2010 +0100
NM "Ip4Config" interface name has been changed to "IP4Config".
Signed-off-by: Adam Tkac <atkac(a)redhat.com>
diff --git a/src/libnmserver-dbus.c b/src/libnmserver-dbus.c
index 4f3da18..7cf7bb0 100644
--- a/src/libnmserver-dbus.c
+++ b/src/libnmserver-dbus.c
@@ -33,7 +33,7 @@
#define NM_BUS_NAME "org.freedesktop.NetworkManager"
#define NM_IF "org.freedesktop.NetworkManager"
#define NM_IF_DEVICE "org.freedesktop.NetworkManager.Device"
-#define NM_IF_IP4CONFIG "org.freedesktop.NetworkManager.Ip4Config"
+#define NM_IF_IP4CONFIG "org.freedesktop.NetworkManager.IP4Config"
fd_set rfds; /* File descriptors set for select */
int rfds_max; /* Max FD id in set */