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>  | 
