2007-05-26  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context.c:
	* libgupnp/gupnp-context.h:
	* libgupnp/gupnp-control-point.c:
	* libgupnp/gupnp-control-point.h:
	* libgupnp/gupnp-device-info.c:
	* libgupnp/gupnp-device-info.h:
	* libgupnp/gupnp-device-proxy.c:
	* libgupnp/gupnp-device-proxy.h:
	* libgupnp/gupnp-error.c:
	* libgupnp/gupnp-service-info.c:
	* libgupnp/gupnp-service-info.h:
	* libgupnp/gupnp-service-proxy.c:
	* libgupnp/gupnp-service-proxy.h:

	More gtkdoc-fu.

2007-05-26  Jorn Baayen  <jorn@openedhand.com>

	* configure.ac:
	* doc/Makefile.am:
	* doc/gupnp-docs.sgml:

	Added doc preamble.

2007-05-22  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-device-proxy.h:
	* libgupnp/gupnp-service-proxy.h:

	Doc coverage to 100%.

2007-05-21  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/Makefile.am:

	Make sure all files get packaged.

	* libgupnp/gupnp-context.c: (gupnp_context_class_init):
	* libgupnp/gupnp-context.h:
	* libgupnp/gupnp-control-point.c: (gupnp_control_point_class_init):
	* libgupnp/gupnp-control-point.h:
	* libgupnp/gupnp-device-info.c: (gupnp_device_info_class_init),
	(icon_parse), (icon_free):
	* libgupnp/gupnp-device-info.h:
	* libgupnp/gupnp-error.c:
	* libgupnp/gupnp-service-info.c: (gupnp_service_info_class_init),
	(get_url_property), (gupnp_service_info_get_service_type),
	(gupnp_service_info_get_id), (gupnp_service_info_get_scpd_url),
	(gupnp_service_info_get_control_url):
	* libgupnp/gupnp-service-info.h:
	* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_class_init):

	Doc updates.

2007-05-21  Jorn Baayen  <jorn@openedhand.com>

	* doc/Makefile.am:

	Hide private bits.

	* doc/gupnp-docs.sgml:

	Added.

2007-05-21  Jorn Baayen  <jorn@openedhand.com>

	* configure.ac:

	Point to gupnp.org.

	* po/*: 

	Added missing files.

2007-05-10  Jorn Baayen  <jorn@openedhand.com>

	* NEWS:
	* README:

	Added some text.

	* libgupnp/gupnp-device-info.h:

	Removed device type defines. These belong in any higher level
	libs now.

	* tests/test.c: (device_proxy_available_cb),
	(service_proxy_available_cb), (service_proxy_unavailable_cb),
	(main):

	Added notification test and cleaned up.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c: (server_handler):

	Parse XML part of NOTIFY messages and call notify callbacks.

	This means that now the client side of GUPnP is feature complete.
	Yay!

	* tests/test.c:
	
	Remove old comments.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_get_element),
	(gupnp_service_proxy_get_url_base), (notify_data_free),
	(gupnp_service_proxy_init), (gupnp_service_proxy_dispose),
	(gupnp_service_proxy_finalize),
	(gupnp_service_proxy_end_action_valist),
	(gupnp_service_proxy_cancel_action):
	* libgupnp/gupnp-service-proxy.h:

	Add notification management.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_end_action_valist):

	Correct error message.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c: (server_handler),
	(subscription_expire), (subscribe_got_response), (subscribe),
	(unsubscribe):

	Emit 'subscription-lost' when appropriate.

	Keep track of notify sequence numbers and resubscribe when
	we notice dropped notifications.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context-private.h:
	* libgupnp/gupnp-context.c:
	* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_finalize),
	(gupnp_service_proxy_remove_notify), (subscription_expire),
	(subscribe_got_response), (subscribe), (unsubscribe):

	Generate a unique path for each proxy on the server, and use
	soup_server_add_handler() to capture its requests instead of
	using a 'server-message-received' signal from GUPnPContext.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_remove_notify), (subscription_expire),
	(subscribe_got_response), (subscribe), (unsubscribe):

	Correct "Callback" URL format is subscription message.
	Disable Date header parsing for now as getting a local time 
	(taking into account daylight saving) out of an RFC 1123 time
	is a total pain.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context-private.h:
	* libgupnp/gupnp-context.c: (gupnp_context_class_init),
	(_gupnp_context_get_session), (server_handler),
	(_gupnp_context_get_server):

	Add hidden 'server-message-received' signal, emitted whenever
	the SoupServer receives a message.

2007-05-09  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context.c: (_gupnp_context_get_session),
	(default_server_handler), (_gupnp_context_get_server),
	(gupnp_context_get_port), (gupnp_context_set_subscription_timeout):
	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_remove_notify), (make_timeout_header),
	(subscription_expire), (subscribe_got_response), (subscribe):

	Support infinite timeout locally.

	Add a default server handler returning 501.

2007-05-08  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_dispose),
	(subscribe), (unsubscribe), (gupnp_service_proxy_set_subscribed):

	Send unsubscription message synchronised on dispose.

2007-05-08  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context.c: (gupnp_context_init),
	(gupnp_context_set_property), (gupnp_context_get_property),
	(gupnp_context_class_init), (_gupnp_context_get_server_url),
	(gupnp_context_new):
	* libgupnp/gupnp-context.h:
	* libgupnp/gupnp-service-proxy.c: (subscription_expire),
	(subscribe_got_response), (subscribe):

	Added subscription-timeout property to Context and use in
	ServiceProxy.

2007-05-08  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-service-proxy.c: (subscribe_got_response):

	Support infinite timeouts.

2007-05-08  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/Makefile.am:
	* libgupnp/gupnp-device-proxy.c:
	* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_dispose),
	(gupnp_service_proxy_begin_action), (action_got_response),
	(gupnp_service_proxy_end_action_valist),
	(gupnp_service_proxy_remove_notify), (subscription_expire),
	(subscribe_got_response), (subscribe), (unsubscribe),
	(gupnp_service_proxy_set_subscribed):

	Implement subscription.

	* tests/test.c: (service_proxy_available_cb):

	Test subscription.

2007-05-08  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context-private.h:
	* libgupnp/gupnp-context.c: (make_server_id), (get_ip),
	(get_default_host_ip), (gupnp_context_init),
	(gupnp_context_set_property), (gupnp_context_get_property),
	(gupnp_context_dispose), (gupnp_context_finalize),
	(gupnp_context_class_init), (_gupnp_context_get_session):
	* libgupnp/gupnp-context.h:

	Start a SOAP server on demand, and add internal API for
	retrieving a URL to the server itself.

	* tests/test.c: (main):

	Updated to use changed GUPnPContext constructor.

2007-05-07  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-device-info.c: (icon_parse), (icon_free),
	(gupnp_device_info_get_icon_url):
	* libgupnp/gupnp-device-info.h:
	* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_finalize),
	(gupnp_device_proxy_get_element),
	(gupnp_device_proxy_get_url_base), (gupnp_device_proxy_init),
	(gupnp_device_proxy_list_devices), (gupnp_device_proxy_get_device),
	(gupnp_device_proxy_list_services),
	(gupnp_device_proxy_get_service),
	(_gupnp_device_proxy_find_element_for_udn),
	(gupnp_device_proxy_new), (_gupnp_device_proxy_new_from_element):
	* libgupnp/gupnp-service-info.c: (get_property),
	(gupnp_service_info_get_service_type), (gupnp_service_info_get_id),
	(gupnp_service_info_get_scpd_url),
	(gupnp_service_info_get_control_url):
	* libgupnp/gupnp-service-info.h:
	* libgupnp/gupnp-service-proxy-private.h:
	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_action_free),
	(gupnp_service_proxy_get_element),
	(gupnp_service_proxy_get_property), (gupnp_service_proxy_dispose),
	(gupnp_service_proxy_finalize), (gupnp_service_proxy_class_init),
	(gupnp_service_proxy_send_action_valist),
	(gupnp_service_proxy_begin_action_valist),
	(gupnp_service_proxy_end_action),
	(gupnp_service_proxy_end_action_valist),
	(find_service_element_for_type), (gupnp_service_proxy_new),
	(_gupnp_service_proxy_new_from_element):

	Take URLBase into account.
	Make sending actions and parsing action responses work correctly.

	* tests/test.c: (service_proxy_available_cb),
	(service_proxy_unavailable_cb), (main):

	Add a little control test case for ContentDirectories.

2007-05-07  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-control-point.c: (description_loaded),
	(parse_usn):

	Correct USN parsing.

	* libgupnp/gupnp-service-proxy.c:
	(gupnp_service_proxy_begin_action_valist):

	Added assertion.

2007-05-03  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-control-point.c: (parse_usn),
	(gupnp_control_point_resource_available),
	(gupnp_control_point_class_init),
	(gupnp_control_point_get_context):
	* libgupnp/gupnp-control-point.h:
	* tests/test.c: (main):

	GSSDPServiceBrowser -> GSSDPResourceBrowser.

2007-04-25  Zeeshan Ali  <zeenix@gstreamer.net>

	* libgupnp/gupnp-device-info.h:
	* tests/test.c: (device_proxy_available_cb):

	Add some device type defines.

2007-04-16  Jorn Baayen  <jorn@openedhand.com>

	* libgupnp/gupnp-context-private.h:

	Added missing header. Spotted by Priit Laes.