2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Simplify authentication by using an approach similiar to the one
	Alex Larsson uses for gvfs: The consumer just emits an signal that
	authentication credentials are required, and the signal handler
	changes some consumer properties when being able to provide them.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/consumer.c, libepc/consumer.h: Remove reauthenticate signal.
	Modify authentication signal. Add username and password properties.
	* libepc/marshal.list: Update the authentication marshaller.
	* libepc/publisher.c: Dump debug messages during authentication.
	* libepc-ui/password-dialog.c: Use the new authentication scheme.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Remove a bogous hash sign from API documentation.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Further discussion of epc_consumer_new_for_name.

	* libepc/consumer.c: Discuss epc_consumer_new_for_name.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_publisher_remove and discuss publishing NULL values.

	* libepc/publisher.c: Add epc_publisher_remove. discuss NULL values.
	* libepc/consumer.c: Reference NULL value discussion in EcpPublisher.
	* docs/reference/libepc/libepc-1.0-sections.txt, libepc/publisher.h:
	Add epc_publisher_remove.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add SUBSECTION tags to group function lists.

	* docs/reference/libepc/libepc-1.0-sections.txt: Add grouping.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Fix memory leak in the authenticate signal handler.

	* libepc-ui/password-dialog.c: Fix memory leak.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add note regarding real argument types for the "authentication" and
	"reauthenticate" signals of EpcConsumer.

	* libepc/consumer.c: Update documentation.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Move EPC_CONSUMER_DEFAULT_TIMEOUT to consumer.c
	as it is some internal implementation detail.

	* docs/reference/libepc/libepc-1.0-sections.txt,
	libepc/consumer.h: Remove EPC_CONSUMER_DEFAULT_TIMEOUT.
	* libepc/consumer.c: Add EPC_CONSUMER_DEFAULT_TIMEOUT.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Adding GNOME MAINTAINERS file.

	* MAINTAINERS: New file.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Improve documentation and add epc_consumer_is_publisher_resolved.

	* docs/reference/libepc/libepc-1.0-sections.txt: 
	Add epc_consumer_is_publisher_resolved.
	* libepc/consumer.c, libepc/consumer.h: Improve documentation.
	Add epc_consumer_is_publisher_resolved.
	* libepc/publisher.c, libepc/publisher.h: Improve documentation.

2007-11-14  Murray Cumming  <murrayc@openismus.com>

	Various documentation improvements.

	* docs/reference/libepc/libepc-1.0-docs.xml: Fix package names.
	* libepc/consumer.c, libepc/dispatcher.c, libepc/publisher.c, 
	libepc/service-type.c: Fix grammer and spelling. Clarify sentences.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Update to gtk-doc trunk.

	* gtk-doc.make: Update to trunk version.
	* docs/reference/libepc/.gitignore: Add libepc-1.0-undeclared.txt.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Append "-1.0" suffix to package name.

	* libepc-1.0.pc, libepc-ui-1.0.pc: Renamed.
	* configure.ac, .gitignore: Rename *.pc files.
	* Makefile.am: Append "-1.0" suffix. Sort statements. Add comments.
	* docs/reference/libepc/Makefile.am: Change DOC_MODULE name.
	* docs/reference/libepc/.gitignore: Update file names.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Rename configure.in to configure.ac.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Add application argument to epc_publisher_new for controling DNS-SD
	service type: As the examples demonstrate, automatically using
	g_get_prgname only works in themost simplistic cases.

	* libepc/publisher.c, libepc/publisher.h: Add application argument
	and property of the same name to EpcPublisher.
	* examples/simple-publisher.c, tests/test-publisher-libsoup-494128.c
	tests/test-consumer-by-name.c, tests/test-publisher-change-name.c:
	Pass application name to epc_publisher_new.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Improve examples and give them better names.

	* examples/consumer-ui.c: Rename examples/test-consumer.c.
	Remove command line interface. Use epc_consumer_list.
	* examples/simple-publisher.c: Rename examples/test-publisher.c.
	* examples/list-resources.c: Improve comments.
	* examples/lookup-resource.c: Minimalistic value lookup example.
	* examples/.gitignore, Makefile.am: Update examples.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Remove bogous description of a return value
	for epc_password_dialog_set_anonymous_allowed.

	* libepc-ui/password-dialog.c: Remove bogous description.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Resolve authentication dead-lock.

	* libepc/shell.c: Print debug information about big-lock handlers.
	* libepc/consumer.c: Aquire GDK big-lock before emitting
	authenticate and reauthenticate signals.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Add capability for listing publisher resources.

	* libepc/publisher.c: Implement URL handler for '/list/' and '/' path.
	* libepc/consumer.c, libepc/consumer.h: Implement epc_consumer_list.
	* examples/list-resources.c: New example for listing resources.
	* Makefile.am, examples/.gitignore: Add examples/list-resources.
	* docs/reference/libepc/libepc-sections.txt: Add epc_consumer_list.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Give EpcConsumer and EpcPublisher separate sections.
	Give separete files for EpcPublisher helper structures.

	* docs/reference/libepc/libepc-docs.xml,
	docs/reference/libepc/libepc-sections.txt: Reorganize sections.
	* libepc/publisher.c: Document EpcAuthContext and EpcContents section.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcContent: "Inhalt" is "contents" with "s", not "content".

	* docs/reference/libepc/libepc-sections.txt, 
	examples/test-publisher.c, libepc/publisher.c, 
	libepc/publisher.h: Rename EpcContent to EpcContents.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Distribute gtk-doc.make, libepc-docs.xml and libepc-sections.txt.

	* Makefile.am, docs/reference/libepc/Makefile.am: Update EXTRA_DIST.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Add error handling to epc_consumer_lookup.

	* examples/test-consumer.c, tests/test-consumer-by-name.c:
	Pass error argument to epc_consumer_lookup.
	* docs/reference/libepc/libepc-sections.txt: Add EPC_HTTP_ERROR.
	* libepc/consumer.c, libepc/consumer.h: Add error handling to
	epc_consumer_lookup. Add EPC_HTTP_ERROR and epc_http_error_quark.
	* Makefile.am: Add libepc/libepc.la to LDADD variable of
	examples/test-consumer.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Do more restrictive argument checks in epc_dispatcher_add_service to
	work arround Avahi race conditions.

	* libepc/dispatcher.c: Do more restrictive argument checks in
	epc_dispatcher_add_service to work arround Avahi race conditions.
	* libepc/publisher.c, tests/test-dispatcher-subtypes.c:
	Use epc_dispatcher_add_service_subtype instead of
	epc_dispatcher_add_service to publish subtypes.
	* tests/framework.c, tests/framework.h:
	Rename epc_test_pass to epc_test_pass_once. Add epc_test_pass_many.
	* tests/*: Rename epc_test_pass to epc_test_pass_once.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Fix several issues to make distcheck happy.

	* Makefile.am: Add BUILT_SOURCES and EXTRA_DIST files. Fix the
	reference manual's dist-hook. Fix some build-dir != source-dir issues.
	Properly clean up, and maybe work arround some automake bug.
	* docs/reference/libepc/Makefile.am: Correctly pass the multiple
	source dirs to gtk-doc.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_password_dialog_attach for easy EpcPasswordDialog usage.

	* libepc-ui/password-dialog.c, libepc-ui/password-dialog.h,
	examples/test-consumer.c, docs/reference/libepc/libepc-sections.txt:
	Add and use epc_password_dialog_attach.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Document libepc-ui widgets.

	* docs/reference/libepc/libepc-docs.xml: Add libepc-ui sections.
	* docs/reference/libepc/libepc-sections.txt: Add libepc-ui symbols.
	* docs/reference/libepc/Makefile.am: Add libepc-ui.
	* libepc-ui/entropy-window.c, libepc-ui/entropy-window.h:
	Add API documentation and rename EpcEntropyProgress to EpcEntropyWindow.
	* libepc-ui/password-dialog.c, libepc-ui/password-dialog.h: Add docs.
	* libepc/consumer.h, libepc/dispatcher.h, libepc/publisher.h:
	Add /*< public >*/ annotations to make gtk-doc happy.
	* libepc/protocol.c: Link to epc_service_type_new.
	* Makefile.am, examples/server-credentials.c:
	Rename EpcEntropyProgress to EpcEntropyWindow.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Finish API documentation.

	* libepc/consumer.c, libepc/dispatcher.c, libepc/dispatcher.h,
	libepc/publisher.c, libepc/shell.c: Finish API documentation.
	* docs/reference/libepc/libepc-docs.xml: Add chapters comments.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Split service-type files into service-type and protocol files
	for better documentation. Update documentation.

	* docs/reference/libepc/libepc-sections.txt: Update symbols.
	* libepc/protocol.c, libepc/protocol.h: Take over the EpcProtocol
	related functions of the service-type files. Update documentation.
	* libepc/service-type.c, libepc/service-type.h: Drop the EpcProtocol
	related functions. Update documentation.
	* Makefile.am: Add protocol.c and protocol.h

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Update documentation and add an error argument
	to epc_shell_create_avahi_client.

	* docs/reference/libepc/libepc-sections.txt: Updated symbols.
	* libepc/shell.c, libepc/shell.h: Document functions. Add error
	argument to epc_shell_create_avahi_client.
	* libepc/consumer.c, libepc/dispatcher.c, tests/framework.c:
	Pass error argument to epc_shell_create_avahi_client.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Drop the shell's artificial Avahi client by keep the publisher's
	dispatcher arround. Implement name changes for the dispatcher.

	* libepc/dispatcher.c, libepc/dispatcher.h:
	Allow changing of name property.
	* libepc/publisher.c: Keep dispatcher arround and use its
	Avahi client ot lookup the host's official hostname.
	* libepc/shell.c, libepc/shell.h: Remove epc_shell_get_host_name.
	* Makefile.am, tests/.gitignore: Add test-dispatcher-rename and
	test-dispatcher-reset.
	* tests/framework.c, tests/framework.h: Print invokation location
	for epc_test_pass. Assert tests are passed only once. Restart the
	timeout when a test passes.
	* tests/test-publisher-change-name.c: First call epc_test_pass, 
	then change the name by calling epc_publisher_set_service_name.
	* tests/test-dispatcher-rename.c: Verify that epc_dispatcher_set_name
	removes the old mame.
	* tests/test-dispatcher-reset.c: Verify that epc_dispatcher_set_reset
	removes the old mame.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Move protocol property from EpcDispatcher to its internal service
	class, as protocols (aka. address families) are a property of the
	service address. Entirely drop the interface property as I see no 
	way to map them onto interface names (eth0, ppp0, ...). Also I
	see no masures in Avahi to keep them valid when interfaces are
	created or shutdown.

	* libepc/dispatcher.c, libepc/dispatcher.h: Add EpcAddressFamily
	enumeration. Add protocol argument to epc_dispatcher_add_service.
	Remove interface and interface property from EpcDispatcher. 
	* libepc/publisher.c, tests/*: Pass address family to
	epc_dispatcher_add_service instead of epc_dispatcher_new.

2007-11-11  Mathias Hasselmann  <mathias@openismus.com>

	Create epc_service_type_get_base from existing EpcDispatcher code and
	use it in epc_service_type_get_protocol.

	* libepc/dispatcher.c: Use epc_service_type_get_base.
	* libepc/service-type.c, libepc/service-type.h: Add
	epc_service_type_get_base and use it in epc_service_type_get_protocol.
	* Makefile.am, tests/.gitignore: Add tests/test-service-type.c.
	* tests/test-service-type.c: Test epc_service_type_get_base.

2007-11-10  Mathias Hasselmann  <mathias@openismus.com>

	Update API documentation.

	* docs/reference/libepc/libepc-docs.xml,
	docs/reference/libepc/libepc-sections.txt, libepc/consumer.c,
	libepc/consumer.h, libepc/dispatcher.c, libepc/publisher.c,
	libepc/service-type.c, libepc/shell.c, libepc/tls.c, libepc/tls.h:
	Update API documentation.
	* docs/reference/libepc/Makefile.am: Improve stamp file dependencies.

2007-11-09  Mathias Hasselmann  <mathias@openismus.com>

	Use new avahi-ui API for overriding service type names (Avahi #180).

	* configure.in, Makefile.am: Test for avahi-ui 0.6.22.
	* examples/test-consumer.c: Use aui_service_dialog_set_service_type_name.

2007-11-09  Mathias Hasselmann  <mathias@openismus.com>

	Implement the HTTPS transport method.

	* libepc/consumer.c, libepc/consumer.h: Support HTTPS transport
	protocol. Add reauthenticate signal to vtable. New publisher-resolved
	signal, epc_consumer_resolve_publisher method and protocol property.
	Replace service-type property by application property.
	* libepc/publisher.c, libepc/publisher.h: Implement HTTPS transport.
	Add certificate-file, private-key-file and protocol property. Add
	epc_publisher_set_credentials method. Remove service-type property.
	* libepc/enums.c.in, libepc/enums.h.in: Templates for glib-mkenums.
	* libepc/marshal.list: Update for EpcConsumer::publisher-resolved.
	* libepc/service-type.c, libepc/service-type.h: Add EpcProtocol enum.
	Add functions for service-type and protocol handling.
	* libepc/shell.c, libepc/shell.h: Add epc_shell_get_host_name. 
	Remove epc_shell_create_service_type.
	* libepc/.gitignore: Add libepc/enums.[ch] and artifacts.
	* Makefile.am: Add libepc/enums.[ch] and artifacts.
	Improve error handling when using glib-genmarshal.
	* examples/test-consumer.c: Pass choosen protocol to epc_consumer_new.
	* examples/test-publisher.c: Add --protocol command line switch.
	* tests/test-consumer-by-name.c, tests/test-publisher-change-name.c,
	tests/test-publisher-libsoup-494128.c: Create publishers in HTTP mode,
	since generating HTTPS keys takes quite some time.
	* docs/reference/libepc/libepc-sections.txt: Update symbols.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Minor TLS cleanups.

	* libepc/tls.c: Check that the variables crtfile and keyfile point
	to NULL to prevent memory leaks in in epc_tls_get_server_credentials.
	* libepc/tls.h: Add G_GNUC_CONST attribute to epc_tls_error_quark.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Set common name in generated certificates.

	* libepc/tls.c: Set common name in generated certificates.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Change epc_test_init to take initial result mask as argument.

	* tests/framework.c, tests/framework.h, tests/*.c:
	Change epc_test_init to take initial result mask as argument.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Always dump the test cases' stdout and stderr when EPC_DEBUG is set.

	* tests/test-runner.sh: Consider EPC_DEBUG variable.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Pass arguments to make when building API documentation.

	* Makefile.am: Pass arguments to make when building API documentation.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Restart the DNS-SD dispatcher when changing the publisher's name.

	* libepc/publisher.c: Restart dispatcher on server-name change.
	* Makefile.am, tests/.gitignore: Add tests/test-publisher-change-name.c
	* tests/test-dispatcher-local-collision.c: Remove some G_GNUC_UNUSED
	* tests/test-publisher-change-name.c: Verify name changes are working.
	* tests/test-publisher-libsoup-494128.c: Add description.
	* tests/framework.c: Print message when tests pass.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Try to deal with libsoup bug #494128. Seems there is no way to force
	SoupServer to close all pending HTTP connections. So it seems we have
	to accept leaking the SoupServer on shutdown, as each HTTP connection
	increases the server's reference count. Well, but at least we can try
	not to add additional leaking references. That's what this changes
	try to achive.

	* libepc/publisher.c: Try to deal with libsoup bug #494128
	* tests/test-publisher-libsoup-494128.c: Test run/quit variants
	* Makefile.am, tests/.gitignore: Add test-publisher-libsoup-494128.c

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Use more descriptive property names for EpcPublisher.

	* docs/reference/libepc/libepc-sections.txt,
	libepc/publisher.c, libepc/publisher.h,
	tests/test-consumer-by-name.c: Update property names.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Rename epc_tls_privkey_* functions to epc_tls_private_key_*,
	which results in same symbol length for private key and
	equivalent certificate functions.

	* docs/reference/libepc/libepc-sections.txt: Updating symbols.
	* libepc/tls.c, libepc/tls.h, libepc-ui/entropy-progress.c: 
	Rename epc_tls_privkey_* functions to epc_tls_private_key_*.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcPublication to EpcResource in EpcPublisher.

	* libepc/publisher.c: Rename EpcPublication to EpcResource.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Show a progress window when generating new keys.

	* examples/server-credentials.c: Use EpcEntropyProgress.
	* libepc-ui/passworddialog.c, libepc-ui/passworddialog.h,
	examples/test-consumer.c: Rename files to password-dialog.
	* libepc/tls.c, libepc/tls.h: Add epc_tls_privkey_set_hooks which
	allows showing of a progress window when generating private keys.
	* libepc-ui/entropy-progress.c, libepc-ui/entropy-progress.h,
	Makefile.am: Add EpcEntropyProgress, which can be shown when
	generating keys.

2007-11-07  Mathias Hasselmann  <mathias@openismus.com>

	Create simple API for creating, storing and loading server keys.

	* configure.in: Add gnutls package.
	* libepc/tls.c, libepc/tls.h: Simple server key API.
	* examples/.gitignore: Add server-credentials
	* examples/server-credentials.c: Demonstrate how to
	retreive self-signed SSL/TLS server credentials.
	* docs/reference/libepc/libepc-docs.sgml: Add new chapters.
	* docs/reference/libepc/libepc-sections.txt: Add new symbols.
	* Makefile.am: Add libepc/tls.c, libepc/tls.h and
	examples/server-credentials.c.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Prevent that make tries to build API docs before building the library.

	* Makefile.am: Explicitly list the rules of gtk-doc.make.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Prevent that repeated calls of epc_test_quit kills the EpcShell.

	* libepc/shell.c: Trace epc_shell_ref/unref when EPC_DEBUG is set.
	* tests/framework.c: Try to call epc_shell_unref only once.
	* tests/test-dispatcher-simple-service.c: Your changes...

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Remove g_debug calls in test-consumer-by-name.

	* tests/test-consumer-by-name.c: Remove g_debug calls.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Add gdk_threads hooks to inspect #494173.

	* examples/test-consumer.c: Add gdk_threads hooks to inspect #494173.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	* libepc/consumer.c, libepc/consumer.h: Add epc_consumer_new_for_name
	and epc_consumer_new_for_name_full for connecting by service name.
	* libepc/dispatcher.c: Use external _epc_debug variable.
	* libepc/shell.c: Provide _epc_debug variable.
	* tests/test-consumer-by-name: Test epc_consumer_new_for_name.
	* Makefile.am, tests/.gitignore: Add tests/test-consumer-by-name.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Try to prevent dead-locks with GDK when entering main loops.

	* configure.in: Add gmodule-2.0 as dependency.
	* libepc/shell.c, libepc/shell.h: Add epc_shell_leave and
	epc_shell_enter which deal with GDK's big lock when needed.
	* libepc/dispatcher.c: Call epc_shell_unref in finalize, not dispose.
	* libepc/consumer.c: Unlock when calling soup_session_send_message.
	* tests/framework.c: Unlock when calling g_main_loop_run.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Also commit services when not adding any subtypes.

	* libepc/dispatcher.c: Also schedule commmit from epc_service_publish.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcAvahiShell to EpcShell.

	* libepc/dispatcher.c, libepc/publisher.c, libepc/shell.c,
	libepc/shell.h, Makefile.am, tests/framework.c: 
	Rename EpcAvahiShell to EpcShell.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Permit access when no authentication handler is installed.

	* libepc/publisher.c: Let epc_publisher_server_auth_cb return TRUE,
	when no authentication handler is found to permit access in that case.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Announce program name based service type.

	* libepc/publisher.c: Announce program name based service type.
	* libepc/dispatcher.c: Move commit step into idle function.
	* libepc/avahi-shell.c, libepc/avahi-shell.h:
	Provide epc_avahi_shell_create_service_type for creating
	program name based service types.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Introduce common API for managing basic, shareable Avahi infrastructure.

	* libepc/avahi-shell.c, libepc/avahi-shell.h: Introduce EpcAvahiShell.
	* libepc/dispatcher.c, tests/framework.c: Use EpcAvahiShell.
	* Makefile.am: Add libepc/avahi-shell.c and libepc/avahi-shell.h.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Merge password dialog from the libank experiment.

	* libepc-ui/passworddialog.c, libepc-ui/passworddialog.h:
	Merge password dialog from the libank experiment.
	* examples/test-consumer.c: Use EpcPasswordDialog.
	* configure.in, Makefile.am, libepc-ui.pc.in, libepc-ui/.gitignore:
	Add shared libepc-ui library containing libepc specific widgets.
	* libepc.pc.in: Correct the cflags property.
	* tests/.gitignore: Add *.loT

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Document authentication mechanism and add "reauthenticate" signal.

	* docs/reference/libepc/libepc-sections.txt, libepc/publisher.c,
	libepc/publisher.h: Document authentication mechanism.
	* libepc/consumer.c: Document authentication mechanism
	and add "reauthenticate" signal.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Implement authentication for EpcPublisher and EpcConsumer.

	* examples/test-consumer.c: Demonstrate authentication callback.
	* examples/test-publisher.c: Demonstrate publishing of sensitive data.
	* libepc/consumer.c, libepc/consumer.h: Add "authenticate" signal.
	* libepc/marshal.list: Add marshaller for "authenticate" signal.
	* libepc/.gitignore: Add generated files marshal.c and marshal.h.
	* Makefile.am: Add marshal.c, marshal.h and code to generate them.
	* libepc/publisher.c, libepc/publisher.h: Implement authentication
	by adding epc_publisher_set_auth_handler and EpcAuthContext.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Demonstrate epc_publisher_add_handler.

	* examples/test-publisher.c: Demonstrate epc_publisher_add_handler.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Move examples into separate folder.

	* examples/.gitignore, Makefile.am, tests/.gitignore:
	Moved test-consumer and test-publisher from tests to examples.
	* tests/test-consumer.c, tests/test-publisher.c: Moved to examples.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Document epc_publisher_add_handler and related API.

	* docs/reference/libepc/libepc-sections.txt:
	Rename EpcPublisherHandler to EpcContentHandler.
	* libepc/publisher.c: Document epc_publisher_add_handler
	and EpcContent with its methods.
	* libepc/publisher.h: Document EpcContentHandler.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Implement epc_publisher_add_handler.
	Rewrite epc_publisher_add and epc_publisher_add_file to use it.

	* docs/reference/libepc/libepc-sections.txt, libepc/publisher.c,
	libepc/publisher.h: Add epc_publisher_add_handler and EpcContent.
	* tests/test-publisher.c: Remove obsolete error variable.

2007-11-04  Mathias Hasselmann  <mathias@openismus.com>

	Document the property accessors of EpcDispatcher.

	* docs/reference/libepc/libepc-sections.txt,
	libepc/dispatcher.c: Document the property accessors.

2007-11-04  Mathias Hasselmann  <mathias@openismus.com>

	Implement regression tests for the EpcDispatcher.

	* Makefile.am, tests/.gitignore: Add regression tests.
	* tests/framework.c, tests/framework.h: Common test code.
	* tests/test-runner.sh: Redirect output of regression tests.
	* tests/test-dispatcher-simple-service.c: Test a single service.
	* tests/test-dispatcher-multiple-services.c: Test registering 
	of multiple services on a single dispatcher.
	* tests/test-dispatcher-subtypes.c: Test service subtypes.
	* tests/test-dispatcher-local-collision.c: Test automatic handling
	of local service name collisions.
	* libepc/dispatcher.c, libepc/dispatcher.h:
	Add getter methods for properties of the EpcDispatcher.

2007-11-03  Mathias Hasselmann  <mathias@openismus.com>

	Implement regression testing for EpcDispatcher.

	* Makefile.am, tests/.gitignore: Add tests/test-dispatcher-001.c.
	* tests/test-dispatcher-001.c: Regression test for EpcDispatcher.

2007-11-03  Mathias Hasselmann  <mathias@openismus.com>

	Handle local collisions.

	* libepc/dispatcher.c: Handle local collisions.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Fix property assertions in EpcPublisher.

	* libepc/publisher.c: Fix property assertions

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Guard g_debug statements by epc_debug flag, which can by enabled
	by setting the EPC_DEBUG environment variable.

	* libepc/dispatcher.c: Guard g_debug statements.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Adjust indenting for consumer.h

	* libepc/consumer.h: Adjust indenting.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Improve API documentation and examples.

	* libepc/consumer.c, libepc/dispatcher.c, libepc/publisher.c:
	Improve API documentation.
	* tests/test-consumer.c, tests/test-publisher.c: Insert code comments
	as those files serve as examples and document command line arguments.
	* docs/reference/libepc/libepc-sections.txt:
	Remove EPC_PUBLISHER_SERVICE_NAME.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Split EPC_PUBLISHER_SERVICE_NAME into EPC_SERVICE_NAME,
	EPC_SERVICE_NAME_HTTP and EPC_SERVICE_NAME_HTTPS.

	* libepc/publisher.h: Remove EPC_PUBLISHER_SERVICE_NAME.
	* libepc/service-names.h, docs/reference/libepc/libepc-docs.sgml, 
	docs/reference/libepc/libepc-sections.txt: Introduce
	EPC_SERVICE_NAME, EPC_SERVICE_NAME_HTTP and EPC_SERVICE_NAME_HTTPS.
	* libepc/publisher.c: Use EPC_SERVICE_NAME_HTTP
	instead of EPC_PUBLISHER_SERVICE_NAME.
	* tests/test-consumer.c: Use EPC_SERVICE_NAME
	instead of EPC_PUBLISHER_SERVICE_NAME.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Change library name to libepc.

	* docs/reference/libepc/Makefile.am, libepc.pc.in,
	Makefile.am: Change library name to libepc.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Tell automake to install developer files.

	* Makefile.am: Install header files and pkg-config information.
	* configure.in, libepc.pc.in: Provide pkg-config information.
	* .gitignore: Ignore libepc.pc.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Add copyright headers.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Document EpcDispatcher and provide examples.

	* docs/reference/libepc/.gitignore: Remove libepc-sections.txt.
	* docs/reference/libepc/libepc-sections.txt: Add *Class 
	structures as requested by the gtk-doc tool.
	* libepc/consumer.c, libepc/consumer.h, libepc/publisher.c, 
	libepc/publisher.h: Add examples and document *Class structures.
	* libepc/dispatcher.c, libepc/dispatcher.h: Document EpcDispatcher.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Provide some initial API documentation.

	* docs/reference/libepc/Makefile.am: Force rebuilding
	of documentation when the code changes.
	* docs/reference/libepc/.gitignore: Ignore *.bak files.
	* libepc/consumer.c, libepc/consumer.h: Some initial documentation.
	* libepc/publisher.c, libepc/publisher.h: Some initial documentation.
	Rename EPC_PUBLISHER_SERVICE_TYPE to EPC_PUBLISHER_SERVICE_NAME.
	* tests/test-consumer.c: Rename EPC_PUBLISHER_SERVICE_TYPE to
	EPC_PUBLISHER_SERVICE_NAME.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Integrate gtk-doc for API documentation.

	* configure.in, Makefile.am: Integrate gtk-doc for API documentation.
	* gtk-doc.make, docs/reference/libepc/*: Setup gtk-doc infrastructure.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Handle construct-only properties more stricly.

	* libepc/dispatcher.c, libepc/publisher.c: Assert fields are NULL
	instead of releasing their data, when setting construct-only
	properties.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Implement the consumer.

	* libepc/consumer.c, libepc/consumer.h: Really implement the consumer.
	* tests/test-consumer.c: Use the consumer API.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Start the consumer by merging the document-server's client test.

	* tests/test-consumer.c: Just copy the document-server's client test.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Implement EpcDispatcher, an easy to use ZeroConf dispatcher.

	* configure.in, Makefile.am: Separatly checking for
	avahi-ui which is used by tests/test-consumer only.
	* libepc/dispatcher.c, libepc/dispatcher.h: Implement an
	easy to use ZeroConf service dispatcher on top of Avahi.
	* libepc/publisher.c, libepc/publisher.h: Use the new dispatcher.
	* tests/test-publisher.c: Use the new dispatcher.
	Change key-name for the source-code record.

2007-10-31  Mathias Hasselmann  <mathias@openismus.com>

	Initial commit of the Easy Publish and Consume library.

