]> git.meshlink.io Git - catta/blob - docs/API-CHANGES-0.6
c29dd56ec958c36167006fec51580838d0102186
[catta] / docs / API-CHANGES-0.6
1 -*-text-*-
2
3
4 A terse (and incomplete) list of API changes between 0.5.2 and 0.6:
5
6  * Most browsing and registration functions and their callbacks gained
7    new "flags" parameters. Passing 0 results in similar behaviour as
8    in 0.5.2
9
10  * avahi-client/client.h has been split into client.h, publish.h and lookup.h
11  
12  * avahi-core/core.h has been split into core.h publish.h lookup.h
13
14  * avahi_client_is_service_local() has been removed. Use instead the special
15    flags AVAHI_LOOKUP_RESULT_LOCAL and AVAHI_LOOKUP_RESULT_OUR_OWN which are
16    set when resolving or browsing for services. AVAHI_LOOKUP_RESULT_OUR_OWN is
17    what most people should use.
18
19  * AVAHI_RESOLVER_TIMEOUT and AVAHI_RESOLVER_NOT_FOUND have been
20    removed. Instead AVAHI_RESOLVER_FAILURE is used and the exact error
21    code is available from avahi_client_errno()/avahi_server_errno()
22
23  * The events AVAHI_BROWSER_CACHE_EXHAUSTED, AVAHI_BROWSER_ALL_FOR_NOW
24    have been introduced. Failures during browsing are now passed as
25    AVAHI_BROWSER_FAILURE and the error code is made available through
26    avahi_client_errno()/avahi_server_errno().
27
28  * The server gained a new state AVAHI_SERVER_FAILURE if some fatal
29    error happens. The reason can be found in
30    avahi_server_errno(). Clients can safely ignore this state.
31
32  * You can now update existing records by setting the
33    AVAHI_PUBLISH_UPDATE flags for add_service() and friends. Consider
34    using avahi_server_update_service_txt_strlst() if you need to
35    update only the TXT record for a service.
36
37  * Proper support for service subtypes is now available. Use
38    avahi_server_add_service_subtype() for that.
39
40  * Entry groups gained the new state AVAHI_ENTRY_GROUP_FAILURE. The
41    reason is available using
42    avahi_server_errno()/avahi_client_errno().
43
44  * Many superfluous functions have been removed from the public API or
45    entirely.
46
47  * avahi_simple_poll_iterate() has been split up into three
48    functions. avahi_simple_poll_loop() has been introduced.
49
50  * Some new limits have been introduced: AVAHI_ADDRESS_STR_MAX,
51    AVAHI_DOMAIN_NAME_MAX, AVAHI_LABEL_MAX
52
53  * The functions avahi_service_name_join() and
54    avahi_service_name_split() have been introduced.
55  
56  * AVAHI_ERR_LOCAL_COLLISION has been renamed to AVAHI_ERR_COLLSION
57
58  * The values of AVAHI_PROTO_xxx have changed, they are no longer
59    identical to the BSD AF_xxx constants
60
61  * avahi_client_new() now takes an additional flags parameter. Most
62    interesting flag here is AVAHI_CLIENT_NO_FAIL, which can be used to
63    create an AvahiClient object even when the daemon is not
64    running. This is useful to deal with daemon restarts.
65
66  * AvahiClient gained a new state AVAHI_CLIENT_FAILURE.  (superseding
67    AVAHI_CLIENT_DISCONNECTED). If this event happens,
68    avahi_client_errno() will return the reason. If the error returned
69    is AVAHI_ERR_DISCONNECTED, the situation where
70    AVAHI_CLIENT_DISCONNECTED was previously thrown is entered. You may
71    choose to reconnect in that case by freeing your AvahiClient new
72    and create a new one with passing AVAHI_CLIENT_NO_FAIL.
73
74  * There's now a client side AvahiRecordBrowser, and 
75    avahi_entry_group_add_record().
76
77 $Id$