[libdmapsharing] Add Porting guide
- From: W. Michael Petullo <wmpetullo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libdmapsharing] Add Porting guide
- Date: Mon, 13 Nov 2017 18:45:24 +0000 (UTC)
commit acee558c79ea691d58a5a204b930e2ce81b65801
Author: W. Michael Petullo <mike flyn org>
Date: Mon Nov 13 13:45:13 2017 -0500
Add Porting guide
Signed-off-by: W. Michael Petullo <mike flyn org>
README-Porting | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
---
diff --git a/README-Porting b/README-Porting
new file mode 100644
index 0000000..25bedca
--- /dev/null
+++ b/README-Porting
@@ -0,0 +1,46 @@
+Version 3.2 of the libdmapsharing API is incompatible with previous
+versions. The primary reason for these changes is to better support
+GObject introspection and thus languages such as Python. The following
+are the key differences between the new and old APIs:
+
+(1) The interface names exported by libdmapsharing now end in "Interface"
+instead of "Iface".
+
+(2) The new API renames the following symbols as indicated:
+
+ DMAP_TYPE_DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL became
+ DMAP_TYPE_DMAP_MDNS_SERVICE_TRANSPORT_PROTOCOL.
+
+ DMAPMdnsBrowserTransportProtocol became DMAPMdnsServiceTransportProtocol.
+
+ DMAPMdnsBrowserServiceType became DMAPMdnsServiceType.
+
+ DMAPMdnsBrowserService became DMAPMdnsService.
+
+ DMAPConnectionCallback became DMAPConnectionFunc.
+
+ DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL* became DMAP_MDNS_SERVICE_TRANSPORT_PROTOCOL*.
+
+ DMAP_MDNS_BROWSER_SERVICE_TYPE_* became DMAP_MDNS_SERVICE_TYPE_*.
+
+ dmap_connection_connect became dmap_connection_start.
+
+(3) The "hash" property in the DAAPRecord interface and the "hash"
+and "thumbnail" properties in the DPAPRecord interface are now boxed
+types. The true type of each of these properties is a GArray. Thus
+implementations of these interfaces should now:
+
+ (a) use x = g_value_get_boxed(value) in their setter,
+
+ (b) use g_value_set_boxed(value, x) in their getter, and
+
+ (c) use GArray instead of GByteArray.
+
+Additionally, the implementation's finalize method should no longer
+explicitly free the object associated with the hash/thumbnail property.
+
+(4) The new API replaces the use of GHFunc with DMAPIdRecordFunc and
+DMAPContainerIdFunc.
+
+(5) The properties contained in a DMAPMdnsService must now be accessed
+using g_object_get.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]