2007-07-26 Jorn Baayen <
[email protected]>
* configure.ac:
Bump version number to 0.2.
2007-07-26 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service.c: (new_action_response_node):
A small fix to the last change from jorn to fix the build.
2007-07-26 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (process_service_list),
(process_device_list), (gupnp_control_point_resource_unavailable):
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property),
(gupnp_device_info_get_property), (gupnp_device_info_finalize),
(gupnp_device_info_class_init), (gupnp_device_info_get_url_base),
(gupnp_device_info_get_udn), (gupnp_device_info_get_device_type),
(gupnp_device_info_get_friendly_name),
(gupnp_device_info_get_manufacturer),
(gupnp_device_info_get_manufacturer_url),
(gupnp_device_info_get_model_description),
(gupnp_device_info_get_model_name),
(gupnp_device_info_get_model_number),
(gupnp_device_info_get_model_url),
(gupnp_device_info_get_serial_number):
* libgupnp/gupnp-device-info.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_get_service):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_set_property),
(gupnp_service_info_get_property), (gupnp_service_info_dispose),
(gupnp_service_info_finalize), (gupnp_service_info_class_init),
(gupnp_service_info_get_url_base), (gupnp_service_info_get_udn),
(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_begin_action_valist),
(gupnp_service_proxy_get_subscribed), (_gupnp_service_proxy_new):
* libgupnp/gupnp-service.c: (new_action_response_node):
* tests/test-browsing.c: (device_proxy_available_cb):
* tests/test-introspection.c: (service_proxy_unavailable_cb):
Handle the case where no serviceType (or deviceType) is specified
in the description document:
- ControlPoint saves the discovered types into the proxies, so that
unavailability can be detected even if the description document
is bogus.
- Service and ServiceProxy warn if serviceType is not specified.
This has the side effect that the return value of
_get_{device,service}_type() now returns a const.
Also added additional checks.
2007-07-26 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-device-info.c:
* libgupnp/gupnp-device-info.h:
* libgupnp/gupnp-device-proxy-private.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_get_device),
(gupnp_device_proxy_get_service), (_gupnp_device_proxy_new):
* libgupnp/gupnp-device.c: (gupnp_device_get_device),
(gupnp_device_get_service), (_gupnp_device_new):
* libgupnp/gupnp-service-info.c:
* libgupnp/gupnp-service-info.h:
* libgupnp/gupnp-service-private.h:
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c: (_gupnp_service_proxy_new):
* libgupnp/gupnp-service.c: (_gupnp_service_new):
Make it clear to the user that return value of
gupnp_{device,service}_info_get_url_base() must not be freed o
modified.
2007-07-26 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.h:
* libgupnp/gupnp-service.h:
Cosmetic changes.
2007-07-26 Jorn Baayen <
[email protected]>
* doc/gupnp-sections.txt:
* libgupnp/gupnp-service-info.h:
* libgupnp/gupnp-service-proxy.h:
Document callback prototypes.
* libgupnp/gupnp-service-info.c: (got_scpd_url),
(gupnp_service_info_get_introspection_async):
* tests/test-introspection.c: (print_state_variables):
Switch the order of the 'error' and 'user-data' arguments in the
async introspection retrieval callback, so that 'user-data' is now
last for consistency.
2007-07-26 Jorn Baayen <
[email protected]>
* gupnp-1.0.pc.in:
List all dependencies.
2007-07-26 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_action_arg_info_free),
(gupnp_service_action_info_free),
(gupnp_service_introspection_finalize), (get_actions),
(get_state_variables), (construct_introspection_info),
(collect_action_names), (collect_variable_names),
(gupnp_service_introspection_new),
(gupnp_service_introspection_list_action_names),
(gupnp_service_introspection_list_actions),
(gupnp_service_introspection_list_state_variables),
(gupnp_service_introspection_list_state_variable_names):
Get rid of the hashtables since the function that needed them have
been removed.
2007-07-25 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.h:
Fix struct docs for gtk-doc.
2007-07-25 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-service-introspection.h:
Add docs for structs and only mention once the extremely dependency on
the availability of SCPD. :)
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
Added a comment warning people against using introspection in
regular apps.
2007-07-25 Jorn Baayen <
[email protected]>
A doc/gupnp-sections.txt:
* libgupnp/gupnp-error.c:
* libgupnp/gupnp-service-introspection.h:
* libgupnp/gupnp-service.h:
* libgupnp/gupnp-types.c:
Doc polish.
2007-07-25 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-service-introspection.h:
Remove unneeded functions.
2007-07-25 Jorn Baayen <
[email protected]>
* README:
Added text from website.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device.c: (gupnp_device_get_device),
(gupnp_device_get_service), (gupnp_device_get_property),
(gupnp_device_dispose), (gupnp_device_init),
(gupnp_device_class_init), (_gupnp_device_find_element_for_udn):
* libgupnp/gupnp-root-device.c: (gupnp_root_device_new):
* libgupnp/gupnp-service-private.h:
* libgupnp/gupnp-service.c: (gupnp_service_action_return_error),
(gupnp_service_constructor), (gupnp_service_set_property),
(gupnp_service_get_property), (gupnp_service_dispose),
(gupnp_service_finalize), (gupnp_service_class_init),
(notify_got_response), (notify_subscriber), (create_property_set),
(flush_notifications), (gupnp_service_notify_value),
(gupnp_service_freeze_notify), (gupnp_service_thaw_notify),
(_gupnp_service_new):
Devices and Services reference their RootDevice.
On RootDevice unavailability Service purges its subscriptions.
* tests/test-server.c: (main):
Unref content_dir.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (gupnp_control_point_dispose):
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_dispose),
(subscribe_got_response), (gupnp_service_proxy_set_subscribed):
Unsubscribe proxies automatically only at control point dispose.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (load_description),
(gupnp_control_point_resource_unavailable):
Destroy proxy before destroying the associated xmlDoc.
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service-info.c:
(gupnp_service_info_get_introspection),
(gupnp_service_info_get_introspection_async):
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action_valist), (subscription_expire),
(subscribe), (unsubscribe):
* libgupnp/gupnp-service.c: (notify_subscriber):
Better invalid URL error handling.
* tests/Makefile.am:
R tests/test-client.c:
A tests/test-browsing.c: (device_proxy_unavailable_cb):
A tests/test-proxy.c:
Split out test-client into test-browsing and test-proxy better
illustrating how to use the API.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service.c: (gupnp_service_init),
(gupnp_service_finalize), (notify_got_response):
Create & destroy notify queue.
* libgupnp/gupnp-service.h:
Added 'const' to constant signal arguments.
* tests/test-client.c: (device_proxy_unavailable_cb),
(service_proxy_available_cb):
Connect to 'subscription-lost' signal.
* tests/test-server.c: (browse_cb), (query_cb), (main):
Connect to 'notify-failed' signal.
Print action locales.
Test gupnp_service_notify().
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (subscribe_got_response):
Remove server handler on all subscription errors.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-marshal.list:
* libgupnp/gupnp-service.c: (gupnp_service_class_init):
Don't box the to-be-filled GValue.
* tests/test-client.c: (notify_cb), (service_proxy_available_cb):
* tests/test-server.c: (browse_cb), (main):
Test event notification.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (server_handler):
Remove debug spew.
2007-07-25 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-types.c:
Doc polish.
2007-07-24 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_state_variable_info_free),
(gupnp_service_action_info_free),
(gupnp_service_introspection_finalize), (set_string_value_limits),
(get_action_arguments), (action_argument_list_free), (get_actions),
(collect_hash_keys), (collect_action_arguments), (collect_actions),
(collect_state_variables):
* libgupnp/gupnp-service-introspection.h:
* libgupnp/gupnp-service.c: (gupnp_service_constructor):
* tests/test-introspection.c: (print_action_arguments),
(print_actions), (print_state_variables):
Use GList instead of GSList for compatibility with the rest of the
library.
2007-07-24 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (server_handler):
Don't allow g_main_context_iteration() to block.
2007-07-24 Jorn Baayen <
[email protected]>
* configure.ac:
Depend on gssdp 0.3.
* libgupnp/gupnp-control-point.c:
(gupnp_control_point_resource_unavailable):
Don't depend on deleted list items in loop.
2007-07-24 Jorn Baayen <
[email protected]>
* NEWS:
Added news items for 0.2.
2007-07-23 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (load_description):
* libgupnp/gupnp-service-info.c:
(gupnp_service_info_get_introspection),
(gupnp_service_info_get_introspection_async):
* libgupnp/gupnp-service-proxy.c: (subscription_expire),
(subscribe), (unsubscribe):
* libgupnp/gupnp-service.c: (notify_subscriber):
Warn on invalid URL (don't crash!).
2007-07-23 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-marshal.list:
* libgupnp/gupnp-service-proxy.c: (server_handler),
(subscription_expire), (subscribe_got_response), (subscribe):
* libgupnp/gupnp-service.c: (parse_timeout), (subscribe),
(subscription_server_handler), (gupnp_service_constructor),
(gupnp_service_finalize), (gupnp_service_class_init),
(gupnp_service_notify), (gupnp_service_notify_valist),
(notify_got_response), (notify_subscriber), (create_property_set),
(flush_notifications), (gupnp_service_notify_value):
* libgupnp/gupnp-service.h:
Handle multiple callbacks URLs.
Send initial event message.
2007-07-23 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
(construct_introspection_info), (collect_hash_keys),
(gupnp_service_introspection_list_action_names),
(gupnp_service_introspection_list_state_variable_names):
* libgupnp/gupnp-service-introspection.h:
- Add _list_state_variable_names() method.
- a minor optimization.
* tests/test-introspection.c: (service_proxy_available_cb):
centralize the error handling.
2007-07-23 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-info.c:
(gupnp_service_info_get_introspection), (got_scpd_url):
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_introspection_set_property),
(gupnp_service_introspection_finalize):
Don't keep xmlDoc around longer than necessary.
2007-07-23 Zeeshan Ali <
[email protected]>
Jorn Baayen <
[email protected]>
* libgupnp/gupnp-error.c:
* libgupnp/gupnp-error-private.h:
* libgupnp/gupnp-service-proxy.c:
Add & use server error utility functions.
* libgupnp/gupnp-service-info.c:
(gupnp_service_info_get_introspection), (scpd_loaded),
(got_scpd_url), (gupnp_service_info_get_introspection_async):
* libgupnp/gupnp-service-info.h:
Report non-programmer errors using GError.
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_introspection_set_property),
(construct_introspection_info), (gupnp_service_introspection_new),
(gupnp_service_introspection_get_state_variable):
Fix some typos and conditions.
* tests/test-introspection.c: (got_introspection),
(service_proxy_available_cb):
Update the test app to use the new GError-using API.
2007-07-11 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service-proxy.c: (set_error_literal),
(gupnp_service_proxy_end_action_valist):
Propagate UPnPError codes.
2007-07-11 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action_valist):
Set error if no controlURL is defined.
2007-07-08 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (got_description_url),
(load_description):
Fix description doc refcounting bugs.
2007-07-08 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (description_loaded):
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_set_property):
Each info object stores its own copy of the URLBase SoupUri.
2007-07-08 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (process_service_list),
(process_device_list), (load_description),
(gupnp_control_point_resource_unavailable):
* libgupnp/gupnp-service-proxy-private.h:
Correct constructor argument order.
Plug leak.
Update ref count on cached description doc correctly.
2007-07-08 Zeeshan Ali <
[email protected]>
Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-info.c: (get_scpd_url_data_free),
(gupnp_service_info_class_init),
(gupnp_service_info_get_introspection), (scpd_ready),
(got_scpd_url), (gupnp_service_info_get_introspection_async):
* libgupnp/gupnp-service-info.h:
Use a callback instead of a signal.
* tests/test-introspection.c: (interrupt_signal_handler),
(got_introspection), (service_proxy_available_cb), (main):
- Use the new callback API.
- Terminate cleanly on SIGTERM.
* tests/test-client.c: (interrupt_signal_handler), (main):
* tests/test-server.c: (interrupt_signal_handler), (main):
Terminate cleanly on SIGTERM.
2007-07-07 Jorn Baayen <
[email protected]>
* doc/gupnp-docs.sgml:
* libgupnp/gupnp-types.h:
Include gupnp-types in doc TOC.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (gupnp_control_point_dispose):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_dispose):
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_cancel_action):
Set message status to SOUP_STATUS_CANCELLED before cancelling.
* libgupnp/gupnp-service-proxy.c:
Elaborate begin_action() comments.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-types-private.h:
* libgupnp/gupnp-types.c: (gupnp_type_to_string):
* libgupnp/gupnp-types.h:
Make private gupnp_data_type_to_gtype().
Add gupnp_value_get_string() macro.
* libgupnp/xml-util.c: (xml_util_node_get_content_value):
Smarter value transformation like in ServiceProxy.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c:
(gupnp_control_point_resource_unavailable):
Handle resource-unavailable in the same way.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (gupnp_control_point_finalize),
(process_service_list), (process_device_list),
(description_loaded), (got_description_url):
* libgupnp/gupnp-device-proxy-private.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_get_device),
(gupnp_device_proxy_get_service):
* libgupnp/gupnp-device.c: (gupnp_device_get_device),
(gupnp_device_get_service), (_gupnp_device_find_element_for_udn):
* libgupnp/gupnp-service-private.h:
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_get_subscribed):
* libgupnp/gupnp-service.c: (gupnp_service_thaw_notify):
Create proxies for all, not just one, matching devices and services.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-info.c: (gupnp_service_info_get_property),
(gupnp_service_info_dispose):
Rearrange some code.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-service-info.c:
* libgupnp/gupnp-service-introspection-private.h:
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-service-introspection.h:
* libgupnp/gupnp.h:
Make introspection constructor private.
2007-07-07 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
* libgupnp/gupnp-types.c:
Handle conversion of strings to GUPnP string-based types.
2007-07-06 Zeeshan Ali <
[email protected]>
Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-types.h:
* libgupnp/gupnp-types.c: (gupnp_type_to_string),
(gupnp_bin_base64_get_type), (gupnp_bin_hex_get_type),
(gupnp_date_get_type), (gupnp_date_time_get_type),
(gupnp_date_time_tz_get_type), (gupnp_time_get_type),
(gupnp_time_tz_get_type), (gupnp_uri_get_type),
(gupnp_uuid_get_type), (gupnp_data_type_to_gtype):
Introduce new types for some UPnP data types that do not have a direct
equivalent in glib.
* libgupnp/xml-util.c: (xml_util_get_attribute_contents):
* libgupnp/xml-util.h:
Add helper function for getting the contents of an attribute.
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_state_variable_info_free),
(gupnp_service_introspection_set_property),
(gupnp_service_introspection_finalize),
(gupnp_service_introspection_class_init), (set_variable_type),
(get_state_variable), (get_action_argument),
(contstruct_introspection_info), (gupnp_service_introspection_new):
* libgupnp/gupnp-service-introspection.h:
- Use the new GUPnP types instead of string type for some UPnP types.
- Take a pointer to SCPD xml instead of it's url in the constructor and
leave the download of the document to the caller.
- Expect documents to specify 'sendEvents' as an attribute of the
state variable node.
* libgupnp/gupnp-service-info.c: (gupnp_service_info_init),
(get_scpd_url_data_free), (gupnp_service_info_dispose),
(gupnp_service_info_class_init), (get_scpd),
(gupnp_service_info_get_introspection), (scpd_ready),
(got_scpd_url), (gupnp_service_info_get_introspection_async):
* libgupnp/gupnp-service-info.h:
- Handle the SCPD GET for and provide introspection's constructor a
pointer to the xml document rather than the SCPD URL.
- Provide an asynchronous way of geting the introspection object.
* tests/test-introspection.c: (print_state_variables),
(got_introspection), (service_proxy_available_cb), (main):
Provide a way to specify that the introspection object be
created/requested asynchronously through a command-line argument.
2007-07-04 Zeeshan Ali <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_state_variable_info_free),
(gupnp_service_action_info_free),
(gupnp_service_introspection_finalize), (set_variable_limits),
(set_variable_type), (get_action_argument),
(gupnp_service_action_arg_info_free), (collect_action_names),
(collect_action_arguments), (collect_actions),
(collect_state_variables),
(gupnp_service_introspection_list_action_names),
(gupnp_service_introspection_list_action_arguments),
(gupnp_service_introspection_list_actions),
(gupnp_service_introspection_list_state_variables),
(gupnp_service_introspection_get_state_variable):
* libgupnp/gupnp-service-introspection.h:
* tests/test-introspection.c: (print_action_arguments),
(print_actions), (print_state_variables):
- Return local copies of data to avoid malloc()s and free()s.
- Cache the returned GSLists to avoid allocating the list each time.
- return a 'const' from each function and update doc comments to
make it very clear to the user that the return data can't be
modified or freed.
- Rename 'gtype' field to 'type' for consistancy.
- Introduce an enum type for the direction of the action argument
and use that instead of a string.
- Add a function for getting state variable information by name.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
Remove unused includes.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-info.c:
(gupnp_device_info_list_device_types),
(gupnp_device_info_list_service_types):
Use xml_util_get_child_element_content_glib().
2007-07-01 Jorn Baayen <
[email protected]>
* doc/gupnp-docs.sgml:
* libgupnp/gupnp-control-point.c:
* libgupnp/gupnp-device-info.c: (gupnp_device_info_class_init):
* libgupnp/gupnp-device-proxy.c:
* libgupnp/gupnp-device.c:
* libgupnp/gupnp-service-info.c: (gupnp_service_info_class_init):
* libgupnp/gupnp-service-introspection.c:
* libgupnp/gupnp-service-proxy.c:
* libgupnp/gupnp-service.c:
Documentation updates.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_introspection_finalize),
(contstruct_introspection_info):
Added small optimization + missing NULL checks.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-info.c:
* libgupnp/gupnp-device-proxy.c:
(_gupnp_device_proxy_new_from_doc):
* libgupnp/gupnp-root-device.c: (gupnp_root_device_constructor):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_finalize),
(gupnp_service_info_get_udn):
* libgupnp/gupnp-service-introspection.c: (set_variable_type),
(get_state_variable), (get_action_argument), (get_actions),
(get_state_variables):
* libgupnp/gupnp-service-proxy.c:
(_gupnp_service_proxy_new_from_doc):
* libgupnp/xml-util.c: (xml_util_get_element):
* libgupnp/xml-util.h:
Add more shared XML helpers.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-info.c: (get_property),
(gupnp_device_info_get_friendly_name),
(gupnp_device_info_get_manufacturer),
(gupnp_device_info_get_model_name),
(gupnp_device_info_get_model_number):
Use get_url_property() for all URL properties.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service.c: (gupnp_service_class_init):
Use G_TYPE_VALUE for "value" argument on "query-variable" signal.
2007-07-01 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property),
(gupnp_device_info_get_property), (gupnp_device_info_finalize),
(gupnp_device_info_class_init), (icon_parse):
* libgupnp/gupnp-device-info.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_get_device),
(gupnp_device_proxy_get_service),
(_gupnp_device_proxy_new_from_doc),
(_gupnp_device_proxy_new_from_element):
* libgupnp/gupnp-device.c: (gupnp_device_get_device),
(gupnp_device_get_service), (_gupnp_device_new_from_element):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_set_property),
(gupnp_service_info_get_property), (gupnp_service_info_finalize),
(gupnp_service_info_class_init), (get_url_property):
* libgupnp/gupnp-service-info.h:
* libgupnp/gupnp-service-private.h:
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c:
(_gupnp_service_proxy_new_from_doc),
(_gupnp_service_proxy_new_from_element):
* libgupnp/gupnp-service.c: (_gupnp_service_new_from_element):
Store URL base as SoupUri, and use description file location
as URL base if no base is specified explicitly.
* libgupnp/gupnp-root-device.c: (gupnp_root_device_finalize),
(gupnp_root_device_set_property), (gupnp_root_device_get_property),
(gupnp_root_device_constructor):
* libgupnp/gupnp-root-device.h:
Remove API for setting URL base as the explicit specification of
a URL base is discouraged.
Don't autohost description file.
* tests/test-server.c: (main):
Updated for changed API.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action):
Use M-POST when POST fails.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service.c: (gupnp_service_action_return_error):
Fill in description automatically for known error codes.
* libgupnp/gupnp-service-proxy.c: (convert_error_code):
Handle unknown error codes.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-error.c:
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service-proxy.c: (set_error_literal),
(convert_error_code), (gupnp_service_proxy_end_action_valist),
(subscription_expire), (subscribe_got_response):
* libgupnp/gupnp-service.c: (notify_got_response):
More detailed erroring.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action_valist), (set_error_literal),
(gupnp_service_proxy_end_action_valist), (subscribe_got_response):
* libgupnp/gupnp-service.c: (notify_got_response):
Don't report GValue errors through GError, and define error codes.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_end_action),
(gupnp_service_proxy_end_action_valist):
Added set_error_literal() helper function.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_end_action_valist):
Handle SOAP Faults.
* libgupnp/gupnp-service.c: (gupnp_service_action_set_value),
(gupnp_service_action_return_error):
Return SOAP Fault in correct format.
* tests/test-client.c: (service_proxy_available_cb):
Return on error.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (subscribe_got_response):
Remove obsolete comment and correct warning message.
* libgupnp/gupnp-service.c: (subscription_response),
(subscription_timeout), (parse_timeout), (subscribe),
(resubscribe):
Return correct timeout to subscriber.
2007-06-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c:
(gupnp_control_point_resource_unavailable):
Remove unavailable device from correct list!
2007-06-29 Jorn Baayen <
[email protected]>
* AUTHORS: Added Zeeshan.
2007-06-29 Zeeshan Ali <
[email protected]>
reviewed by: Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp.h:
* libgupnp/gupnp-service-introspection.c:
(gupnp_service_introspection_init),
(gupnp_service_introspection_set_property),
(gupnp_service_introspection_get_property),
(gupnp_service_introspection_dispose),
(gupnp_service_introspection_finalize),
(gupnp_service_introspection_class_init), (get_scpd),
(set_default_value), (set_string_value_limits),
(set_value_limit_by_name), (set_variable_limits),
(set_variable_type), (get_state_variable), (get_action_argument),
(get_action_arguments), (action_argument_list_free), (get_actions),
(get_state_variables), (contstruct_introspection_info),
(collect_action_names), (collect_action_arguments),
(collect_actions), (collect_allowed_values), (copy_state_variable),
(collect_state_variables), (gupnp_service_introspection_new),
(gupnp_service_introspection_list_action_names),
(gupnp_service_introspection_list_action_arguments),
(gupnp_service_introspection_list_actions),
(gupnp_service_action_arg_info_free),
(gupnp_service_action_info_free),
(gupnp_service_introspection_list_state_variables),
(gupnp_service_state_variable_info_free):
* libgupnp/gupnp-service-introspection.h:
Add service introspection support.
* libgupnp/gupnp-service-info.c:
(gupnp_service_proxy_request_introspection):
* libgupnp/gupnp-service-info.h:
- Add service introspection support.
* tests/Makefile.am:
* tests/test-introspection.c: (print_action_arguments),
(print_actions), (print_state_variables),
(service_proxy_available_cb), (service_proxy_unavailable_cb),
(main):
Add a test application for the introspection API.
2007-06-27 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_send_action_valist):
Only run the main loop if it hasn't been quit before yet. Fixes
a hang.
2007-06-27 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service.c: (subscription_data_free), (subscribe),
(gupnp_service_constructor), (gupnp_service_finalize),
(gupnp_service_class_init), (gupnp_service_notify_valist),
(notify_got_response), (notify_subscriber), (flush_notifications),
(gupnp_service_notify_value), (gupnp_service_freeze_notify),
(gupnp_service_thaw_notify):
* libgupnp/gupnp-service.h:
Implement notification.
2007-06-27 Jorn Baayen <
[email protected]>
* configure.ac:
Depend on uuid.
* libgupnp/gena-protocol.h:
Added minimum timeout value.
* libgupnp/gupnp-context.c: (gupnp_context_class_init):
Use minimum timeout value.
* libgupnp/gupnp-service.c: (gupnp_service_action_return_error),
(gupnp_service_init), (query_state_variable),
(control_server_handler), (subscription_response), (generate_sid),
(subscription_timeout), (parse_timeout), (subscribe),
(resubscribe), (unsubscribe), (subscription_server_handler),
(gupnp_service_constructor), (gupnp_service_finalize),
(gupnp_service_class_init), (gupnp_service_notify),
(gupnp_service_notify_valist), (gupnp_service_notify_value),
(gupnp_service_freeze_notify), (gupnp_service_thaw_notify),
(_gupnp_service_new_from_element):
Implement subscription.
2007-06-27 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-error.h:
* libgupnp/gupnp-service.c: (gupnp_service_action_return_error),
(query_state_variable), (control_server_handler):
* libgupnp/gupnp-service.h:
* libgupnp/upnp-protocol.h:
More flexible error handling.
2007-06-27 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service.c: (gupnp_service_action_get_value),
(gupnp_service_action_set_valist),
(gupnp_service_action_set_value), (gupnp_service_action_return),
(gupnp_service_action_return_error), (gupnp_service_init),
(new_action_response_node), (query_state_variable),
(control_server_handler), (gupnp_service_notify_valist),
(gupnp_service_notify_value), (gupnp_service_freeze_notify),
(gupnp_service_thaw_notify), (_gupnp_service_new_from_element):
* libgupnp/gupnp-service.h:
Fully implement actioning.
* libgupnp/Makefile.am:
* libgupnp/gupnp-error.h:
* libgupnp/upnp-protocol.h:
Added error codes and descriptions.
* libgupnp/xml-util.c: (xml_util_node_get_content_int):
* libgupnp/xml-util.h:
Added xml_util_node_get_content_value() for retrieving xmlNode
contents as GValues.
* libgupnp/gupnp-service-proxy.c: (server_handler):
Use xml_util_node_get_content_value().
* tests/test-server.c: (browse_cb):
Test actioning.
2007-06-26 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_end_action_valist):
Small cleanup.
* libgupnp/gupnp-service.c: (gupnp_service_action_get_locales),
(gupnp_service_action_get), (gupnp_service_action_get_valist),
(gupnp_service_action_get_value), (gupnp_service_action_set),
(gupnp_service_action_set_valist),
(gupnp_service_action_set_value), (gupnp_service_action_return),
(gupnp_service_action_return_error), (gupnp_service_class_init),
(gupnp_service_notify), (gupnp_service_notify_valist),
(gupnp_service_notify_value), (gupnp_service_freeze_notify),
(gupnp_service_thaw_notify):
Boilerplate code.
2007-06-26 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service.c: (query_state_variable),
(control_server_handler):
Implement QueryStateVariable.
2007-06-26 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action_valist):
* libgupnp/gupnp-service.c: (gupnp_service_action_get_name),
(gupnp_service_action_get_locales),
(gupnp_service_action_set_value), (gupnp_service_action_return),
(gupnp_service_action_return_error), (gupnp_service_init),
(query_state_variable), (control_server_handler),
(subscription_server_handler), (gupnp_service_constructor),
(gupnp_service_dispose), (gupnp_service_finalize),
(gupnp_service_class_init), (gupnp_service_notify),
(gupnp_service_notify_valist), (gupnp_service_notify_value),
(gupnp_service_freeze_notify), (gupnp_service_thaw_notify),
(_gupnp_service_new_from_element):
* libgupnp/gupnp-service.h:
Basic server-side actioning. No argument handling yet.
* tests/test-server.c: (browse_cb), (main):
Test actioning.
2007-06-26 Jorn Baayen <
[email protected]>
* libgupnp/accept-language.c: (accept_language_get_header):
* libgupnp/accept-language.h:
Cleanup, additional functions to convert between locale and HTTP
language tag representations.
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action_valist):
Updated for accept-language function rename.
* configure.ac:
Depend on shared-mime-data.
* libgupnp/Makefile.am:
* libgupnp/xdgmime/Makefile.am:
* libgupnp/xdgmime/xdgmime.c:
* libgupnp/xdgmime/xdgmime.h:
* libgupnp/xdgmime/xdgmimealias.c:
* libgupnp/xdgmime/xdgmimealias.h:
* libgupnp/xdgmime/xdgmimecache.c:
* libgupnp/xdgmime/xdgmimecache.h:
* libgupnp/xdgmime/xdgmimeglob.c:
* libgupnp/xdgmime/xdgmimeglob.h:
* libgupnp/xdgmime/xdgmimeint.c:
* libgupnp/xdgmime/xdgmimeint.h:
* libgupnp/xdgmime/xdgmimemagic.c:
* libgupnp/xdgmime/xdgmimemagic.h:
* libgupnp/xdgmime/xdgmimeparent.c:
* libgupnp/xdgmime/xdgmimeparent.h:
* libgupnp/gupnp-context.c: (hosting_server_handler):
Use xdgmime to set correct Content-Type HTTP headers.
* tests/test-server.c: (main):
Print port number on startup.
2007-06-22 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property),
(gupnp_device_info_get_udn):
Re-use get_property() in one more spot.
* libgupnp/gupnp-service.h:
Added G_GNUC_NULL_TERMINATED.
* libgupnp/gupnp-root-device.c: (server_handler),
(fill_resource_group), (gupnp_root_device_constructor):
* libgupnp/xml-util.c: (xml_util_node_get_content_int):
* libgupnp/xml-util.h:
Move some XML utils to xml-util.c
2007-06-22 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/accept-language.c:
* libgupnp/accept-language.h:
* libgupnp/gupnp-context.c:
(gupnp_context_get_subscription_timeout), (hosting_server_handler),
(unregister_hosting_server_handler):
Proper Accept-Language support.
* libgupnp/gupnp-device.c: (gupnp_device_get_service):
* libgupnp/gupnp-service-private.h:
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action),
(gupnp_service_proxy_begin_action_valist):
* libgupnp/gupnp-service.c: (gupnp_service_action_get_name),
(gupnp_service_thaw_notify):
* libgupnp/gupnp-service.h:
Handle service object creation.
2007-06-19 Jorn Baayen <
[email protected]>
* doc/Makefile.am:
* doc/api-design.txt:
Remove obsolete API design document.
* libgupnp/gupnp-device.c:
Small doc correction.
* libgupnp/Makefile.am:
* libgupnp/gupnp-service.c:
* libgupnp/gupnp-service.h:
Added Service skels.
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_class_init):
Delete obsolete code.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context.c: (_gupnp_context_get_session),
(gupnp_context_get_subscription_timeout):
* libgupnp/gupnp-context.h:
* tests/test-server.c: (main):
Add regular web server functionality.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c: (description_loaded):
* libgupnp/gupnp-device-proxy-private.h:
* libgupnp/gupnp-device-proxy.c:
(_gupnp_device_proxy_find_element_for_udn):
* libgupnp/gupnp-device-proxy.h:
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c: (find_service_element_for_type):
* libgupnp/gupnp-service-proxy.h:
Make ServiceProxy and DeviceProxy constructors private.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context.c: (gupnp_context_dispose):
* libgupnp/gupnp-control-point.c: (gupnp_control_point_dispose):
* libgupnp/gupnp-root-device.c: (gupnp_root_device_finalize),
(gupnp_root_device_dispose):
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_dispose):
Chain up to parent class dispose and finalize methods.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context.c: (gupnp_context_init):
Remove unnecessary initialisations.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context.c: (gupnp_context_class_init):
* libgupnp/gupnp-device-info.c: (gupnp_device_info_class_init):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_class_init):
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_class_init):
Added G_PARAM_STATIC_{NAME,NICK,BLURB}.
2007-06-19 Jorn Baayen <
[email protected]>
* tests/test-server.c: (main):
Use g_object_weak_ref() to destroy the description document when
the root device is finalized.
2007-06-19 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-root-device.c: (fill_resource_group):
Do not overwrite 'element' with child elements as it is still
needed later.
* tests/Makefile.am:
* tests/test-server.c:
D tests/test.c:
A tests/test-client.c:
Added server test case.
2007-06-18 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-device.c:
* libgupnp/gupnp-root-device.c:
* libgupnp/gupnp-root-device.h:
Implement Device and RootDevice.
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property),
(gupnp_device_info_class_init):
Detect UDN if not explicitly specified.
* libgupnp/gupnp-control-point.c: (parse_usn):
* libgupnp/gupnp-service.h:
Fix typos.
* libgupnp/gupnp-device-proxy.c:
* libgupnp/gupnp-device-proxy.h:
No need for a private structure any more.
2007-06-14 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context.c: (get_default_host_ip):
Set IP to 127.0.0.1 if no non-loopback device could be found.
* libgupnp/gupnp-device-info.c: (gupnp_device_info_set_property),
(gupnp_device_info_get_property), (gupnp_device_info_dispose),
(gupnp_device_info_finalize), (gupnp_device_info_class_init),
(gupnp_device_info_get_context), (gupnp_device_info_get_location),
(gupnp_device_info_get_url_base), (gupnp_device_info_get_udn),
(get_property), (gupnp_device_info_get_serial_number),
(gupnp_device_info_get_upc), (icon_parse), (icon_free),
(gupnp_device_info_get_icon_url), (gupnp_device_info_list_devices),
(gupnp_device_info_list_device_types),
(gupnp_device_info_get_device), (gupnp_device_info_list_services),
(gupnp_device_info_list_service_types),
(gupnp_device_info_get_service):
* libgupnp/gupnp-device-info.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_new):
* libgupnp/gupnp-service-info.c: (gupnp_service_info_set_property),
(gupnp_service_info_get_property), (gupnp_service_info_dispose),
(gupnp_service_info_finalize), (gupnp_service_info_class_init),
(gupnp_service_info_get_context),
(gupnp_service_info_get_location),
(gupnp_service_info_get_url_base), (gupnp_service_info_get_udn),
(get_property), (get_url_property):
* libgupnp/gupnp-service-info.h:
* libgupnp/gupnp-service-proxy-private.h:
* libgupnp/gupnp-service-proxy.c: (gupnp_service_proxy_class_init),
(gupnp_service_proxy_new):
Add 'context' and 'url-base' properties to info classes.
* libgupnp/gupnp-service.h:
* libgupnp/gupnp-root-device.h:
Server side API changes.
2007-06-11 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-root-device.h:
* libgupnp/gupnp-service.h:
API tweaks.
2007-06-11 Jorn Baayen <
[email protected]>
* libgupnp/Makefile.am:
* libgupnp/gupnp-device.h:
* libgupnp/gupnp-root-device.h:
* libgupnp/gupnp-service.h:
* libgupnp/gupnp.h:
Headers for server side. These are not final yet.
2007-05-30 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-control-point.c:
(gupnp_control_point_resource_unavailable):
Remove unavailable proxies from cache.
2007-05-29 Jorn Baayen <
[email protected]>
* configure.ac:
Bump version to 0.1.99.
* libgupnp/gupnp-device-info.c: (gupnp_device_info_get_icon_url):
* libgupnp/gupnp-device-info.h:
* libgupnp/gupnp-device-proxy.c: (gupnp_device_proxy_get_url_base),
(gupnp_device_proxy_get_device), (gupnp_device_proxy_get_service),
(gupnp_device_proxy_init), (gupnp_device_proxy_class_init):
* libgupnp/gupnp-device-proxy.h:
Move device subdevice and service retreival from DeviceProxy to
DeviceInfo. This so that client and server side code can expose
identical info API.
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_begin_action), (get_current_language),
(action_got_response), (gupnp_service_proxy_begin_action_valist):
* tests/test.c: (main):
Set Accept-Language header on action requests.
2007-05-26 Jorn Baayen <
[email protected]>
* 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 <
[email protected]>
* configure.ac:
* doc/Makefile.am:
* doc/gupnp-docs.sgml:
Added doc preamble.
2007-05-22 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-device-proxy.h:
* libgupnp/gupnp-service-proxy.h:
Doc coverage to 100%.
2007-05-21 Jorn Baayen <
[email protected]>
* 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 <
[email protected]>
* doc/Makefile.am:
Hide private bits.
* doc/gupnp-docs.sgml:
Added.
2007-05-21 Jorn Baayen <
[email protected]>
* configure.ac:
Point to gupnp.org.
* po/*:
Added missing files.
2007-05-10 Jorn Baayen <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* libgupnp/gupnp-service-proxy.c:
(gupnp_service_proxy_end_action_valist):
Correct error message.
2007-05-09 Jorn Baayen <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* libgupnp/gupnp-service-proxy.c: (subscribe_got_response):
Support infinite timeouts.
2007-05-08 Jorn Baayen <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* libgupnp/gupnp-device-info.h:
* tests/test.c: (device_proxy_available_cb):
Add some device type defines.
2007-04-16 Jorn Baayen <
[email protected]>
* libgupnp/gupnp-context-private.h:
Added missing header. Spotted by Priit Laes.