2007-05-26 Jorn Baayen * 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 * configure.ac: * doc/Makefile.am: * doc/gupnp-docs.sgml: Added doc preamble. 2007-05-22 Jorn Baayen * libgupnp/gupnp-device-proxy.h: * libgupnp/gupnp-service-proxy.h: Doc coverage to 100%. 2007-05-21 Jorn Baayen * 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 * doc/Makefile.am: Hide private bits. * doc/gupnp-docs.sgml: Added. 2007-05-21 Jorn Baayen * configure.ac: Point to gupnp.org. * po/*: Added missing files. 2007-05-10 Jorn Baayen * 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 * 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 * 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 * libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_end_action_valist): Correct error message. 2007-05-09 Jorn Baayen * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libgupnp/gupnp-service-proxy.c: (subscribe_got_response): Support infinite timeouts. 2007-05-08 Jorn Baayen * 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 * 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 * 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 * 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 * 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 * libgupnp/gupnp-device-info.h: * tests/test.c: (device_proxy_available_cb): Add some device type defines. 2007-04-16 Jorn Baayen * libgupnp/gupnp-context-private.h: Added missing header. Spotted by Priit Laes.