diff options
author | Trent Lloyd <lathiat@bur.st> | 2005-08-08 18:03:51 +0000 |
---|---|---|
committer | Trent Lloyd <lathiat@bur.st> | 2005-08-08 18:03:51 +0000 |
commit | 7540df5ed6b383ec93f5a4f10ab2d08f9b9869e4 (patch) | |
tree | e2e023eabbf40d5ffa8716ba5985e25d440b3885 | |
parent | 9ad2a95c80ab0f9cf48d3f58e9a7ed6f06685c34 (diff) |
* Move avahi-core/llist.h to avahi-common/llist.h, not installed.
* avahi-client/
- Add copyright notice
- Remove glib, various cleanups
- Remove alternative host/service functions (available in avahi-common)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@275 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | avahi-client/Makefile.am | 6 | ||||
-rw-r--r-- | avahi-client/client-test.c | 34 | ||||
-rw-r--r-- | avahi-client/client.c | 137 | ||||
-rw-r--r-- | avahi-client/client.h | 15 | ||||
-rw-r--r-- | avahi-common/Makefile.am | 2 | ||||
-rw-r--r-- | avahi-common/llist.h (renamed from avahi-core/llist.h) | 0 | ||||
-rw-r--r-- | avahi-core/announce.h | 2 | ||||
-rw-r--r-- | avahi-core/browse.h | 2 | ||||
-rw-r--r-- | avahi-core/cache.h | 2 | ||||
-rw-r--r-- | avahi-core/iface.h | 2 | ||||
-rw-r--r-- | avahi-core/rrlist.c | 2 | ||||
-rw-r--r-- | avahi-core/server.h | 2 | ||||
-rw-r--r-- | avahi-daemon/dbus-protocol.c | 2 | ||||
-rw-r--r-- | avahi-daemon/simple-protocol.c | 2 | ||||
-rw-r--r-- | avahi-daemon/static-services.c | 2 | ||||
-rw-r--r-- | avahi-dnsconfd/main.c | 2 |
16 files changed, 137 insertions, 77 deletions
diff --git a/avahi-client/Makefile.am b/avahi-client/Makefile.am index 2d5a654..a01ede2 100644 --- a/avahi-client/Makefile.am +++ b/avahi-client/Makefile.am @@ -19,13 +19,9 @@ AM_CFLAGS=-I$(top_srcdir) -# GLIB 2.0 -AM_CFLAGS+=$(GLIB20_CFLAGS) -AM_LDADD=$(GLIB20_LIBS) - # DBUS AM_CFLAGS+=$(DBUS_CFLAGS) -AM_LDADD+=$(DBUS_LIBS) +AM_LDADD=$(DBUS_LIBS) # This cool debug trap works on i386/gcc only AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' diff --git a/avahi-client/client-test.c b/avahi-client/client-test.c index cc41f49..530394f 100644 --- a/avahi-client/client-test.c +++ b/avahi-client/client-test.c @@ -1,3 +1,24 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + #include <avahi-client/client.h> #include <stdio.h> #include <glib.h> @@ -17,13 +38,20 @@ main (int argc, char *argv[]) ret = avahi_client_get_version_string (avahi); printf ("Avahi Server Version: %s\n", ret); + g_free (ret); ret = avahi_client_get_host_name (avahi); printf ("Host Name: %s\n", ret); + g_free (ret); + + ret = avahi_client_get_domain_name (avahi); + printf ("Domain Name: %s\n", ret); + g_free (ret); + + ret = avahi_client_get_host_name_fqdn (avahi); + printf ("FQDN: %s\n", ret); + g_free (ret); - ret = avahi_client_get_alternative_host_name (avahi, "ubuntu"); - printf ("Alternative Host Name: %s\n", ret); - g_free (avahi); g_main_loop_run (loop); diff --git a/avahi-client/client.c b/avahi-client/client.c index 290d767..f5de858 100644 --- a/avahi-client/client.c +++ b/avahi-client/client.c @@ -1,8 +1,33 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + #include <avahi-client/client.h> #include <avahi-common/dbus.h> +#include <avahi-common/llist.h> #include <stdlib.h> #include <stdio.h> -#include <glib.h> #include <string.h> #define DBUS_API_SUBJECT_TO_CHANGE @@ -11,9 +36,16 @@ #include <stdlib.h> -struct _AvahiClientPriv +struct _AvahiClient { DBusConnection *bus; + AVAHI_LLIST_HEAD(AvahiEntryGroup, groups); +}; + +struct _AvahiEntryGroup { + char *path; + AvahiClient *parent; + AVAHI_LLIST_FIELDS(AvahiEntryGroup, groups); }; static DBusHandlerResult @@ -56,28 +88,6 @@ out: return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } -static gint _dbus_add_match (DBusConnection *bus, char *type, char *interface, char *sender, char *path) -{ - DBusError error; - char *filter; - - g_assert (bus != NULL); - - dbus_error_init (&error); - filter = g_strdup_printf ("type='%s', interface='%s', sender='%s', path='%s'", type, interface, sender, path); - dbus_bus_add_match (bus, filter, &error); - g_free (filter); - - if (dbus_error_is_set (&error)) - { - fprintf (stderr, "Error adding filter match: %s\n", error.message); - dbus_error_free (&error); - return FALSE; - } - - return TRUE; -} - AvahiClient * avahi_client_new () { @@ -85,16 +95,17 @@ avahi_client_new () DBusError error; tmp = g_new (AvahiClient, 1); - tmp->priv = g_new (AvahiClientPriv, 1); - g_assert (tmp != NULL); - g_assert (tmp->priv != NULL); - + if (tmp == NULL) + goto fail; + + AVAHI_LLIST_HEAD_INIT(AvahiEntryGroup, tmp->groups); + dbus_error_init (&error); - tmp->priv->bus = dbus_bus_get (DBUS_BUS_SYSTEM, &error); + tmp->bus = dbus_bus_get (DBUS_BUS_SYSTEM, &error); - dbus_connection_setup_with_g_main (tmp->priv->bus, NULL); + dbus_connection_setup_with_g_main (tmp->bus, NULL); if (dbus_error_is_set (&error)) { fprintf(stderr, "Error getting system d-bus: %s\n", error.message); @@ -102,21 +113,47 @@ avahi_client_new () goto fail; } - dbus_connection_set_exit_on_disconnect (tmp->priv->bus, FALSE); + dbus_connection_set_exit_on_disconnect (tmp->bus, FALSE); - if (!dbus_connection_add_filter (tmp->priv->bus, filter_func, tmp, NULL)) + if (!dbus_connection_add_filter (tmp->bus, filter_func, tmp, NULL)) { fprintf (stderr, "Failed to add d-bus filter\n"); goto fail; } - if (!_dbus_add_match (tmp->priv->bus, "signal", AVAHI_DBUS_INTERFACE_SERVER, AVAHI_DBUS_NAME, AVAHI_DBUS_PATH_SERVER)) goto fail; - if (!_dbus_add_match (tmp->priv->bus, "signal", DBUS_INTERFACE_DBUS, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS)) goto fail; + dbus_bus_add_match (tmp->bus, + "type='signal', " + "interface='" AVAHI_DBUS_INTERFACE_SERVER "', " + "sender='" AVAHI_DBUS_NAME "', " + "path='" AVAHI_DBUS_PATH_SERVER "'", + &error); + + if (dbus_error_is_set (&error)) + { + fprintf (stderr, "Error adding filter match: %s\n", error.message); + dbus_error_free (&error); + goto fail; + + } + + dbus_bus_add_match (tmp->bus, + "type='signal', " + "interface='" DBUS_INTERFACE_DBUS "', " + "sender='" DBUS_SERVICE_DBUS "', " + "path='" DBUS_PATH_DBUS "'", + &error); + + if (dbus_error_is_set (&error)) + { + fprintf (stderr, "Error adding filter match: %s\n", error.message); + dbus_error_free (&error); + goto fail; + + } return tmp; fail: - if (tmp->priv) free (tmp->priv); if (tmp) free (tmp); return NULL; } @@ -127,7 +164,7 @@ avahi_client_get_string_reply_and_block (AvahiClient *client, char *method, char DBusMessage *message; DBusMessage *reply; DBusError error; - char *ret; + char *ret, *new; g_assert (client != NULL); g_assert (method != NULL); @@ -135,7 +172,6 @@ avahi_client_get_string_reply_and_block (AvahiClient *client, char *method, char dbus_error_init (&error); message = dbus_message_new_method_call (AVAHI_DBUS_NAME, AVAHI_DBUS_PATH_SERVER, AVAHI_DBUS_INTERFACE_SERVER, method); - fprintf (stderr, "message = dbus_message_new_method_call (%s, %s, %s, %s)\n", AVAHI_DBUS_NAME, AVAHI_DBUS_PATH_SERVER, AVAHI_DBUS_INTERFACE_SERVER, method); if (param != NULL) { @@ -146,7 +182,7 @@ avahi_client_get_string_reply_and_block (AvahiClient *client, char *method, char } } - reply = dbus_connection_send_with_reply_and_block (client->priv->bus, message, -1, &error); + reply = dbus_connection_send_with_reply_and_block (client->bus, message, -1, &error); if (dbus_error_is_set (&error)) { @@ -172,7 +208,9 @@ avahi_client_get_string_reply_and_block (AvahiClient *client, char *method, char return NULL; } - return ret; + new = strdup (ret); + + return new; } char* @@ -199,14 +237,19 @@ avahi_client_get_host_name_fqdn (AvahiClient *client) return avahi_client_get_string_reply_and_block (client, "GetHostNameFqdn", NULL); } -char* -avahi_client_get_alternative_host_name (AvahiClient *client, char *host) +AvahiEntryGroup* +avahi_entry_group_new (AvahiClient *client) { - return avahi_client_get_string_reply_and_block (client, "GetAlternativeHostName", host); -} + AvahiEntryGroup *tmp; -char* -avahi_client_get_alternative_service_name (AvahiClient *client, char *service) -{ - return avahi_client_get_string_reply_and_block (client, "GetAlternativeServiceName", service); + tmp = malloc (sizeof (AvahiEntryGroup)); + + tmp->parent = client; + + AVAHI_LLIST_PREPEND(AvahiEntryGroup, groups, client->groups, tmp); + + return tmp; +fail: + if (tmp) free (tmp); + return NULL; } diff --git a/avahi-client/client.h b/avahi-client/client.h index 5b0e910..0fb6419 100644 --- a/avahi-client/client.h +++ b/avahi-client/client.h @@ -1,7 +1,7 @@ #ifndef fooclienthfoo #define fooclienthfoo -/* $Id: core.h 98 2005-06-04 18:56:52Z lathiat $ */ +/* $Id$ */ /*** This file is part of avahi. @@ -28,12 +28,9 @@ AVAHI_C_DECL_BEGIN -typedef struct _AvahiClientPriv AvahiClientPriv; +typedef struct _AvahiClient AvahiClient; -typedef struct _AvahiClient { - int serverid; - AvahiClientPriv *priv; -} AvahiClient; +typedef struct _AvahiEntryGroup AvahiEntryGroup; /** Creates a new client instance */ AvahiClient* avahi_client_new (); @@ -50,12 +47,6 @@ char* avahi_client_get_domain_name (AvahiClient*); /** Get FQDN domain name */ char* avahi_client_get_host_name_fqdn (AvahiClient*); -/** Get alternative host name for a host name that is taken */ -char* avahi_client_get_alternative_host_name (AvahiClient*, char*); - -/** Get alternative service name for a service name that is taken */ -char* avahi_client_get_alternative_service_name (AvahiClient*, char*); - AVAHI_C_DECL_END #endif diff --git a/avahi-common/Makefile.am b/avahi-common/Makefile.am index c327bd1..b96d19e 100644 --- a/avahi-common/Makefile.am +++ b/avahi-common/Makefile.am @@ -40,6 +40,8 @@ if ENABLE_DBUS avahi_commoninclude_HEADERS += dbus.h endif +noinst_HEADERS = llist.h + noinst_PROGRAMS = \ strlst-test \ domain-test \ diff --git a/avahi-core/llist.h b/avahi-common/llist.h index 7c28f31..7c28f31 100644 --- a/avahi-core/llist.h +++ b/avahi-common/llist.h diff --git a/avahi-core/announce.h b/avahi-core/announce.h index 1cab21f..9aee574 100644 --- a/avahi-core/announce.h +++ b/avahi-core/announce.h @@ -26,7 +26,7 @@ typedef struct AvahiAnnouncement AvahiAnnouncement; -#include "llist.h" +#include <avahi-common/llist.h> #include "iface.h" #include "server.h" #include "timeeventq.h" diff --git a/avahi-core/browse.h b/avahi-core/browse.h index ac33c51..2c9a2ab 100644 --- a/avahi-core/browse.h +++ b/avahi-core/browse.h @@ -22,7 +22,7 @@ USA. ***/ -#include "llist.h" +#include <avahi-common/llist.h> #include "core.h" #include "timeeventq.h" #include "server.h" diff --git a/avahi-core/cache.h b/avahi-core/cache.h index b6e3e8a..de685f4 100644 --- a/avahi-core/cache.h +++ b/avahi-core/cache.h @@ -26,9 +26,9 @@ typedef struct AvahiCache AvahiCache; +#include <avahi-common/llist.h> #include "prioq.h" #include "server.h" -#include "llist.h" #include "timeeventq.h" typedef enum { diff --git a/avahi-core/iface.h b/avahi-core/iface.h index c5c3c61..cb76359 100644 --- a/avahi-core/iface.h +++ b/avahi-core/iface.h @@ -29,11 +29,11 @@ typedef struct AvahiInterfaceAddress AvahiInterfaceAddress; typedef struct AvahiInterface AvahiInterface; typedef struct AvahiHwInterface AvahiHwInterface; +#include <avahi-common/llist.h> #include "address.h" #include "server.h" #include "netlink.h" #include "cache.h" -#include "llist.h" #include "response-sched.h" #include "query-sched.h" #include "probe-sched.h" diff --git a/avahi-core/rrlist.c b/avahi-core/rrlist.c index 51e700c..ce4640c 100644 --- a/avahi-core/rrlist.c +++ b/avahi-core/rrlist.c @@ -19,8 +19,8 @@ USA. ***/ +#include <avahi-common/llist.h> #include "rrlist.h" -#include "llist.h" typedef struct AvahiRecordListItem AvahiRecordListItem; diff --git a/avahi-core/server.h b/avahi-core/server.h index 6572fbb..5810dfa 100644 --- a/avahi-core/server.h +++ b/avahi-core/server.h @@ -22,10 +22,10 @@ USA. ***/ +#include <avahi-common/llist.h> #include "core.h" #include "iface.h" #include "prioq.h" -#include "llist.h" #include "timeeventq.h" #include "announce.h" #include "browse.h" diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index eb7b913..7fe6bf9 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -34,7 +34,7 @@ #include <dbus/dbus.h> #include <dbus/dbus-glib-lowlevel.h> -#include <avahi-core/llist.h> +#include <avahi-common/llist.h> #include <avahi-core/log.h> #include <avahi-core/core.h> #include <avahi-common/dbus.h> diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c index d41cda5..39af043 100644 --- a/avahi-daemon/simple-protocol.c +++ b/avahi-daemon/simple-protocol.c @@ -33,7 +33,7 @@ #include <glib.h> -#include <avahi-core/llist.h> +#include <avahi-common/llist.h> #include <avahi-core/log.h> #include "simple-protocol.h" diff --git a/avahi-daemon/static-services.c b/avahi-daemon/static-services.c index 0fdff14..659d007 100644 --- a/avahi-daemon/static-services.c +++ b/avahi-daemon/static-services.c @@ -34,7 +34,7 @@ #include <glib.h> #include <expat.h> -#include <avahi-core/llist.h> +#include <avahi-common/llist.h> #include <avahi-core/log.h> #include "main.h" diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c index 9f854cc..957c91e 100644 --- a/avahi-dnsconfd/main.c +++ b/avahi-dnsconfd/main.c @@ -40,7 +40,7 @@ #include <glib.h> #include <avahi-common/util.h> -#include <avahi-core/llist.h> +#include <avahi-common/llist.h> #include <libdaemon/dfork.h> #include <libdaemon/dsignal.h> |