From d77d1a036bc186878e804736f02cb38eef450e1d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 26 Jun 2010 03:55:49 +0200 Subject: dbus: move interfaces into standard D-Bus interfaces directory http://avahi.org/ticket/268 --- avahi-daemon/AddressResolver.introspect | 50 ----- avahi-daemon/DomainBrowser.introspect | 60 ------ avahi-daemon/EntryGroup.introspect | 101 ---------- avahi-daemon/HostNameResolver.introspect | 50 ----- avahi-daemon/Makefile.am | 41 ++-- avahi-daemon/RecordBrowser.introspect | 65 ------ avahi-daemon/Server.introspect | 219 --------------------- avahi-daemon/ServiceBrowser.introspect | 63 ------ avahi-daemon/ServiceResolver.introspect | 55 ------ avahi-daemon/ServiceTypeBrowser.introspect | 61 ------ avahi-daemon/chroot.c | 18 +- avahi-daemon/dbus-async-address-resolver.c | 2 +- avahi-daemon/dbus-async-host-name-resolver.c | 2 +- avahi-daemon/dbus-async-service-resolver.c | 2 +- avahi-daemon/dbus-domain-browser.c | 2 +- avahi-daemon/dbus-entry-group.c | 2 +- avahi-daemon/dbus-protocol.c | 2 +- avahi-daemon/dbus-record-browser.c | 2 +- avahi-daemon/dbus-service-browser.c | 2 +- avahi-daemon/dbus-service-type-browser.c | 2 +- .../org.freedesktop.Avahi.AddressResolver.xml | 50 +++++ .../org.freedesktop.Avahi.DomainBrowser.xml | 59 ++++++ avahi-daemon/org.freedesktop.Avahi.EntryGroup.xml | 101 ++++++++++ .../org.freedesktop.Avahi.HostNameResolver.xml | 50 +++++ .../org.freedesktop.Avahi.RecordBrowser.xml | 65 ++++++ avahi-daemon/org.freedesktop.Avahi.Server.xml | 219 +++++++++++++++++++++ .../org.freedesktop.Avahi.ServiceBrowser.xml | 63 ++++++ .../org.freedesktop.Avahi.ServiceResolver.xml | 55 ++++++ .../org.freedesktop.Avahi.ServiceTypeBrowser.xml | 61 ++++++ 29 files changed, 755 insertions(+), 769 deletions(-) delete mode 100644 avahi-daemon/AddressResolver.introspect delete mode 100644 avahi-daemon/DomainBrowser.introspect delete mode 100644 avahi-daemon/EntryGroup.introspect delete mode 100644 avahi-daemon/HostNameResolver.introspect delete mode 100644 avahi-daemon/RecordBrowser.introspect delete mode 100644 avahi-daemon/Server.introspect delete mode 100644 avahi-daemon/ServiceBrowser.introspect delete mode 100644 avahi-daemon/ServiceResolver.introspect delete mode 100644 avahi-daemon/ServiceTypeBrowser.introspect create mode 100644 avahi-daemon/org.freedesktop.Avahi.AddressResolver.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.DomainBrowser.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.EntryGroup.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.HostNameResolver.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.RecordBrowser.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.Server.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.ServiceBrowser.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.ServiceResolver.xml create mode 100644 avahi-daemon/org.freedesktop.Avahi.ServiceTypeBrowser.xml (limited to 'avahi-daemon') diff --git a/avahi-daemon/AddressResolver.introspect b/avahi-daemon/AddressResolver.introspect deleted file mode 100644 index b4250ec..0000000 --- a/avahi-daemon/AddressResolver.introspect +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/DomainBrowser.introspect b/avahi-daemon/DomainBrowser.introspect deleted file mode 100644 index 7338e69..0000000 --- a/avahi-daemon/DomainBrowser.introspect +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/EntryGroup.introspect b/avahi-daemon/EntryGroup.introspect deleted file mode 100644 index cb56772..0000000 --- a/avahi-daemon/EntryGroup.introspect +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/HostNameResolver.introspect b/avahi-daemon/HostNameResolver.introspect deleted file mode 100644 index 0b43752..0000000 --- a/avahi-daemon/HostNameResolver.introspect +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/Makefile.am b/avahi-daemon/Makefile.am index c21e30f..04843fb 100644 --- a/avahi-daemon/Makefile.am +++ b/avahi-daemon/Makefile.am @@ -25,7 +25,7 @@ if HAVE_XML pkgsysconfdir=$(sysconfdir)/avahi servicedir=$(pkgsysconfdir)/services -introspectiondir=$(pkgdatadir)/introspection +introspectiondir=$(datadir)/dbus-1/interfaces AM_CFLAGS+= \ -DAVAHI_DAEMON_RUNTIME_DIR=\"$(avahi_runtime_dir)/avahi-daemon/\" \ @@ -68,11 +68,11 @@ pkgsysconf_DATA = \ avahi-daemon.conf \ hosts -service_DATA = \ +dist_service_DATA = \ ssh.service \ sftp-ssh.service -pkgdata_DATA = \ +dist_pkgdata_DATA = \ avahi-service.dtd if ENABLE_CHROOT @@ -116,39 +116,26 @@ avahi_daemon_LDADD += \ avahi_daemon_CFLAGS += $(DBUS_CFLAGS) -DDBUS_SYSTEM_BUS_DEFAULT_ADDRESS=\"$(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)\" -dbusservice_DATA = avahi-dbus.conf +dist_dbusservice_DATA = avahi-dbus.conf -introspection_DATA = \ - Server.introspect \ - EntryGroup.introspect \ - DomainBrowser.introspect \ - ServiceTypeBrowser.introspect \ - ServiceBrowser.introspect \ - ServiceResolver.introspect \ - AddressResolver.introspect \ - HostNameResolver.introspect \ - RecordBrowser.introspect +dist_introspection_DATA = \ + org.freedesktop.Avahi.Server.xml \ + org.freedesktop.Avahi.EntryGroup.xml \ + org.freedesktop.Avahi.DomainBrowser.xml \ + org.freedesktop.Avahi.ServiceTypeBrowser.xml \ + org.freedesktop.Avahi.ServiceBrowser.xml \ + org.freedesktop.Avahi.ServiceResolver.xml \ + org.freedesktop.Avahi.AddressResolver.xml \ + org.freedesktop.Avahi.HostNameResolver.xml \ + org.freedesktop.Avahi.RecordBrowser.xml endif endif endif EXTRA_DIST = \ - avahi-service.dtd \ avahi-daemon.conf \ example.service \ - avahi-dbus.conf \ - Server.introspect \ - EntryGroup.introspect \ - DomainBrowser.introspect \ - ServiceTypeBrowser.introspect \ - ServiceBrowser.introspect \ - ServiceResolver.introspect \ - AddressResolver.introspect \ - HostNameResolver.introspect \ - RecordBrowser.introspect \ - ssh.service \ - sftp-ssh.service \ hosts \ example.service \ introspect.dtd \ diff --git a/avahi-daemon/RecordBrowser.introspect b/avahi-daemon/RecordBrowser.introspect deleted file mode 100644 index f1755d9..0000000 --- a/avahi-daemon/RecordBrowser.introspect +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/Server.introspect b/avahi-daemon/Server.introspect deleted file mode 100644 index 923e05f..0000000 --- a/avahi-daemon/Server.introspect +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/ServiceBrowser.introspect b/avahi-daemon/ServiceBrowser.introspect deleted file mode 100644 index d80298d..0000000 --- a/avahi-daemon/ServiceBrowser.introspect +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/ServiceResolver.introspect b/avahi-daemon/ServiceResolver.introspect deleted file mode 100644 index 1b906ba..0000000 --- a/avahi-daemon/ServiceResolver.introspect +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/ServiceTypeBrowser.introspect b/avahi-daemon/ServiceTypeBrowser.introspect deleted file mode 100644 index 57c418b..0000000 --- a/avahi-daemon/ServiceTypeBrowser.introspect +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avahi-daemon/chroot.c b/avahi-daemon/chroot.c index a418780..d796a39 100644 --- a/avahi-daemon/chroot.c +++ b/avahi-daemon/chroot.c @@ -64,15 +64,15 @@ static const char* const get_file_name_table[AVAHI_CHROOT_MAX] = { NULL, "/etc/resolv.conf", #ifdef HAVE_DBUS - AVAHI_DBUS_INTROSPECTION_DIR"/Server.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/EntryGroup.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/AddressResolver.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/DomainBrowser.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/HostNameResolver.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/ServiceBrowser.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/ServiceResolver.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/ServiceTypeBrowser.introspect", - AVAHI_DBUS_INTROSPECTION_DIR"/RecordBrowser.introspect", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.Server.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.EntryGroup.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.AddressResolver.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.DomainBrowser.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.HostNameResolver.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.ServiceBrowser.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.ServiceResolver.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.ServiceTypeBrowser.xml", + AVAHI_DBUS_INTROSPECTION_DIR"/org.freedesktop.Avahi.RecordBrowser.xml", #endif NULL, NULL diff --git a/avahi-daemon/dbus-async-address-resolver.c b/avahi-daemon/dbus-async-address-resolver.c index 5be08c2..a77e03c 100644 --- a/avahi-daemon/dbus-async-address-resolver.c +++ b/avahi-daemon/dbus-async-address-resolver.c @@ -115,7 +115,7 @@ DBusHandlerResult avahi_dbus_msg_async_address_resolver_impl(DBusConnection *c, /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "AddressResolver.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.AddressResolver.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-async-host-name-resolver.c b/avahi-daemon/dbus-async-host-name-resolver.c index 588bc11..7c2d063 100644 --- a/avahi-daemon/dbus-async-host-name-resolver.c +++ b/avahi-daemon/dbus-async-host-name-resolver.c @@ -113,7 +113,7 @@ DBusHandlerResult avahi_dbus_msg_async_host_name_resolver_impl(DBusConnection *c /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "HostNameResolver.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.HostNameResolver.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-async-service-resolver.c b/avahi-daemon/dbus-async-service-resolver.c index 19da6ff..2b58e2d 100644 --- a/avahi-daemon/dbus-async-service-resolver.c +++ b/avahi-daemon/dbus-async-service-resolver.c @@ -152,7 +152,7 @@ DBusHandlerResult avahi_dbus_msg_async_service_resolver_impl(DBusConnection *c, /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "ServiceResolver.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.ServiceResolver.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-domain-browser.c b/avahi-daemon/dbus-domain-browser.c index 47a5f42..e51996f 100644 --- a/avahi-daemon/dbus-domain-browser.c +++ b/avahi-daemon/dbus-domain-browser.c @@ -67,7 +67,7 @@ DBusHandlerResult avahi_dbus_msg_domain_browser_impl(DBusConnection *c, DBusMess /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "DomainBrowser.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.DomainBrowser.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-entry-group.c b/avahi-daemon/dbus-entry-group.c index 0b86436..4e879a5 100644 --- a/avahi-daemon/dbus-entry-group.c +++ b/avahi-daemon/dbus-entry-group.c @@ -103,7 +103,7 @@ DBusHandlerResult avahi_dbus_msg_entry_group_impl(DBusConnection *c, DBusMessage /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "EntryGroup.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.EntryGroup.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index 542b5ca..91ea8fa 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -249,7 +249,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH dbus_message_get_member(m)); if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "Server.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.Server.xml"); else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "GetHostName")) { diff --git a/avahi-daemon/dbus-record-browser.c b/avahi-daemon/dbus-record-browser.c index f4cd217..c0337cf 100644 --- a/avahi-daemon/dbus-record-browser.c +++ b/avahi-daemon/dbus-record-browser.c @@ -66,7 +66,7 @@ DBusHandlerResult avahi_dbus_msg_record_browser_impl(DBusConnection *c, DBusMess /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "RecordBrowser.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.RecordBrowser.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-service-browser.c b/avahi-daemon/dbus-service-browser.c index 104165b..962dca0 100644 --- a/avahi-daemon/dbus-service-browser.c +++ b/avahi-daemon/dbus-service-browser.c @@ -67,7 +67,7 @@ DBusHandlerResult avahi_dbus_msg_service_browser_impl(DBusConnection *c, DBusMes /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "ServiceBrowser.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.ServiceBrowser.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/dbus-service-type-browser.c b/avahi-daemon/dbus-service-type-browser.c index 03cc091..20afdbe 100644 --- a/avahi-daemon/dbus-service-type-browser.c +++ b/avahi-daemon/dbus-service-type-browser.c @@ -67,7 +67,7 @@ DBusHandlerResult avahi_dbus_msg_service_type_browser_impl(DBusConnection *c, DB /* Introspection */ if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect")) - return avahi_dbus_handle_introspect(c, m, "ServiceTypeBrowser.introspect"); + return avahi_dbus_handle_introspect(c, m, "org.freedesktop.Avahi.ServiceTypeBrowser.xml"); /* Access control */ if (strcmp(dbus_message_get_sender(m), i->client->name)) diff --git a/avahi-daemon/org.freedesktop.Avahi.AddressResolver.xml b/avahi-daemon/org.freedesktop.Avahi.AddressResolver.xml new file mode 100644 index 0000000..bae9c2f --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.AddressResolver.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.DomainBrowser.xml b/avahi-daemon/org.freedesktop.Avahi.DomainBrowser.xml new file mode 100644 index 0000000..22c614e --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.DomainBrowser.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.EntryGroup.xml b/avahi-daemon/org.freedesktop.Avahi.EntryGroup.xml new file mode 100644 index 0000000..43fd63c --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.EntryGroup.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.HostNameResolver.xml b/avahi-daemon/org.freedesktop.Avahi.HostNameResolver.xml new file mode 100644 index 0000000..0b43752 --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.HostNameResolver.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.RecordBrowser.xml b/avahi-daemon/org.freedesktop.Avahi.RecordBrowser.xml new file mode 100644 index 0000000..9ba86f4 --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.RecordBrowser.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.Server.xml b/avahi-daemon/org.freedesktop.Avahi.Server.xml new file mode 100644 index 0000000..c291274 --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.Server.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.ServiceBrowser.xml b/avahi-daemon/org.freedesktop.Avahi.ServiceBrowser.xml new file mode 100644 index 0000000..d80298d --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.ServiceBrowser.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.ServiceResolver.xml b/avahi-daemon/org.freedesktop.Avahi.ServiceResolver.xml new file mode 100644 index 0000000..623f209 --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.ServiceResolver.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/avahi-daemon/org.freedesktop.Avahi.ServiceTypeBrowser.xml b/avahi-daemon/org.freedesktop.Avahi.ServiceTypeBrowser.xml new file mode 100644 index 0000000..4efec82 --- /dev/null +++ b/avahi-daemon/org.freedesktop.Avahi.ServiceTypeBrowser.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit