[vala] avahi-client: deprecated wrapper methods which throw errors
- From: Evan Nemerson <evann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] avahi-client: deprecated wrapper methods which throw errors
- Date: Fri, 13 Jan 2012 19:29:32 +0000 (UTC)
commit 307da0c2e0f7ed4320ba7eec345949edd0e36fbf
Author: Fabian Deutsch <fabian deutsch gmx de>
Date: Fri Jan 13 11:26:48 2012 -0800
avahi-client: deprecated wrapper methods which throw errors
First step towards fixing 665375.
vapi/avahi-client.vapi | 76 +++++++++++++++++++++++++++++++++--------------
1 files changed, 53 insertions(+), 23 deletions(-)
---
diff --git a/vapi/avahi-client.vapi b/vapi/avahi-client.vapi
index 56857bf..467a1f3 100644
--- a/vapi/avahi-client.vapi
+++ b/vapi/avahi-client.vapi
@@ -123,12 +123,13 @@ namespace Avahi {
}
[CCode(cname="avahi_string_list_parse")]
- private static int _parse(char[] data, out StringList dest);
- [CCode(cname="avahi_string_list_parse_dup")]
+ public static int deserialize (char[] data, out StringList dest);
+ [Deprecated (since = "vala-0.16", replacement = "deserialize")]
+ [CCode (cname = "avahi_string_list_parse_dup")]
public static StringList parse(char[] data) throws Error {
StringList dest;
- int errno = _parse(data, out dest);
+ int errno = deserialize (data, out dest);
if (errno < 0) {
var err = new Error.FAILURE(strerror(errno));
err.code = errno;
@@ -156,22 +157,31 @@ namespace Avahi {
public unowned string? get_type_from_subtype(string s);
public unowned string? unescape_label(ref unowned string name, char[] dest=new char[LABEL_MAX]);
- [CCode(cname="avahi_escape_label")]
+ [CCode (cname="avahi_escape_label")]
private string? _escape_label(char* src, size_t src_len, ref char* dest, ref size_t dest_len);
- [CCode(cname="avahi_escape_label_dup")]
+ [CCode (cname = "_vala_avahi_escape_label")]
public string? escape_label(string s) {
size_t len = LABEL_MAX * 4;
char* dest = new char[len];
return _escape_label(s, s.length, ref dest, ref len);
}
- [CCode(cname="avahi_service_name_join")]
- private int _service_name_join(char* dest, size_t dest_len, string name, string type, string domain);
- [CCode(cname="avahi_service_name_join_dup")]
- public string service_name_join(string name, string type, string domain) throws Error {
- char* dest = new char[DOMAIN_NAME_MAX];
+ [CCode (cname = "avahi_service_name_join")]
+ public int _service_name_join ([CCode (array_length_type = "size_t")] uint8[] dest, string name, string type, string domain);
+ [CCode (cname = "_avahi_service_name_join")]
+ public int join_service_name (out string? dest, string name, string type, string domain) {
+ uint8[] dest_data = new uint8[DOMAIN_NAME_MAX];
+ int errno = _service_name_join (dest_data, name, type, domain);
+ dest = (errno >= 0) ? (string) dest_data : null;
+ return errno;
+ }
+
+ [Deprecated (since = "vala-0.16", replacement = "join_service_name")]
+ [CCode (cname = "_vala_avahi_service_name_join")]
+ public string service_name_join (string name, string type, string domain) throws Error {
+ uint8[] dest = new uint8[DOMAIN_NAME_MAX];
- int errno = _service_name_join(dest, DOMAIN_NAME_MAX, name, type, domain);
+ int errno = _service_name_join(dest, name, type, domain);
if (errno < 0) {
var err = new Error.FAILURE(strerror(errno));
err.code = errno;
@@ -181,24 +191,44 @@ namespace Avahi {
return (string) dest;
}
- [CCode(cname="avahi_service_name_split")]
- private int _service_name_split(string src, char* name, size_t name_len,
- char* type, size_t type_len,
- char* domain, size_t domain_len);
- [CCode(cname="avahi_service_name_split_dup")]
+ [CCode (cname = "avahi_service_name_split")]
+ public int _service_name_split(string src, [CCode (array_length_type = "size_t")] uint8[] name, [CCode (array_length_type = "size_t")] uint8[] type, [CCode (array_length_type = "size_t")] uint8[] domain);
+
+ [CCode(cname = "_vala_avahi_service_name_split")]
+ public int split_service_name (string src, out string name, out string type, out string domain) {
+ uint8[] name_data = new uint8[LABEL_MAX];
+ uint8[] type_data = new uint8[DOMAIN_NAME_MAX];
+ uint8[] domain_data = new uint8[DOMAIN_NAME_MAX];
+
+ int errno = _service_name_split (src, name_data, type_data, domain_data);
+
+ if (errno >= 0) {
+ name = (string) name_data;
+ type = (string) type_data;
+ domain = (string) domain_data;
+ }
+
+ return errno;
+ }
+
+ [Deprecated (since = "vala-0.16", replacement = "split_service_name")]
+ [CCode (cname = "avahi_service_name_split_dup")]
public void service_name_split(string src, out string name, out string type, out string domain) throws Error {
- name = (string) new char[LABEL_MAX];
- type = (string) new char[DOMAIN_NAME_MAX];
- domain = (string) new char[DOMAIN_NAME_MAX];
+ uint8[] name_data = new uint8[LABEL_MAX];
+ uint8[] type_data = new uint8[DOMAIN_NAME_MAX];
+ uint8[] domain_data = new uint8[DOMAIN_NAME_MAX];
+
+ int errno = _service_name_split (src, name_data, type_data, domain_data);
- int errno = _service_name_split(src, name, LABEL_MAX,
- type, DOMAIN_NAME_MAX,
- domain, DOMAIN_NAME_MAX);
if (errno < 0) {
var err = new Error.FAILURE(strerror(errno));
err.code = errno;
throw err;
}
+
+ name = (string) name_data;
+ type = (string) type_data;
+ domain = (string) domain_data;
}
public bool is_valid_service_type_generic(string s);
@@ -220,7 +250,7 @@ namespace Avahi {
}
- /* Entry group */
+ /* Entry group */
[Flags]
[CCode(cheader_filename="avahi-common/defs.h", cname="AvahiPublishFlags", cfrefix="AVAHI_PUBLISH_")]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]