mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-10-01 03:16:38 +02:00
gdbus-codegen: Support Ugly_Case for given C namespace
https://bugzilla.gnome.org/show_bug.cgi?id=658976 Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
@@ -38,6 +38,11 @@ class CodeGenerator:
|
|||||||
self.c = c
|
self.c = c
|
||||||
self.namespace = namespace
|
self.namespace = namespace
|
||||||
if len(namespace) > 0:
|
if len(namespace) > 0:
|
||||||
|
if utils.is_ugly_case(namespace):
|
||||||
|
self.namespace = namespace.replace('_', '')
|
||||||
|
self.ns_upper = namespace.upper() + '_'
|
||||||
|
self.ns_lower = namespace.lower() + '_'
|
||||||
|
else:
|
||||||
self.ns_upper = utils.camel_case_to_uscore(namespace).upper() + '_'
|
self.ns_upper = utils.camel_case_to_uscore(namespace).upper() + '_'
|
||||||
self.ns_lower = utils.camel_case_to_uscore(namespace).lower() + '_'
|
self.ns_lower = utils.camel_case_to_uscore(namespace).lower() + '_'
|
||||||
else:
|
else:
|
||||||
|
@@ -37,7 +37,7 @@ class Arg:
|
|||||||
self.doc_string = ''
|
self.doc_string = ''
|
||||||
self.since = ''
|
self.since = ''
|
||||||
|
|
||||||
def post_process(self, interface_prefix, c_namespace, arg_number):
|
def post_process(self, interface_prefix, cns, cns_upper, cns_lower, arg_number):
|
||||||
if len(self.doc_string) == 0:
|
if len(self.doc_string) == 0:
|
||||||
self.doc_string = utils.lookup_docs(self.annotations)
|
self.doc_string = utils.lookup_docs(self.annotations)
|
||||||
if len(self.since) == 0:
|
if len(self.since) == 0:
|
||||||
@@ -235,7 +235,7 @@ class Method:
|
|||||||
self.since = ''
|
self.since = ''
|
||||||
self.deprecated = False
|
self.deprecated = False
|
||||||
|
|
||||||
def post_process(self, interface_prefix, c_namespace):
|
def post_process(self, interface_prefix, cns, cns_upper, cns_lower):
|
||||||
if len(self.doc_string) == 0:
|
if len(self.doc_string) == 0:
|
||||||
self.doc_string = utils.lookup_docs(self.annotations)
|
self.doc_string = utils.lookup_docs(self.annotations)
|
||||||
if len(self.since) == 0:
|
if len(self.since) == 0:
|
||||||
@@ -253,11 +253,11 @@ class Method:
|
|||||||
|
|
||||||
arg_count = 0
|
arg_count = 0
|
||||||
for a in self.in_args:
|
for a in self.in_args:
|
||||||
a.post_process(interface_prefix, c_namespace, arg_count)
|
a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count)
|
||||||
arg_count += 1
|
arg_count += 1
|
||||||
|
|
||||||
for a in self.out_args:
|
for a in self.out_args:
|
||||||
a.post_process(interface_prefix, c_namespace, arg_count)
|
a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count)
|
||||||
arg_count += 1
|
arg_count += 1
|
||||||
|
|
||||||
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
||||||
@@ -272,7 +272,7 @@ class Signal:
|
|||||||
self.since = ''
|
self.since = ''
|
||||||
self.deprecated = False
|
self.deprecated = False
|
||||||
|
|
||||||
def post_process(self, interface_prefix, c_namespace):
|
def post_process(self, interface_prefix, cns, cns_upper, cns_lower):
|
||||||
if len(self.doc_string) == 0:
|
if len(self.doc_string) == 0:
|
||||||
self.doc_string = utils.lookup_docs(self.annotations)
|
self.doc_string = utils.lookup_docs(self.annotations)
|
||||||
if len(self.since) == 0:
|
if len(self.since) == 0:
|
||||||
@@ -290,7 +290,7 @@ class Signal:
|
|||||||
|
|
||||||
arg_count = 0
|
arg_count = 0
|
||||||
for a in self.args:
|
for a in self.args:
|
||||||
a.post_process(interface_prefix, c_namespace, arg_count)
|
a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count)
|
||||||
arg_count += 1
|
arg_count += 1
|
||||||
|
|
||||||
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
||||||
@@ -319,7 +319,7 @@ class Property:
|
|||||||
self.since = ''
|
self.since = ''
|
||||||
self.deprecated = False
|
self.deprecated = False
|
||||||
|
|
||||||
def post_process(self, interface_prefix, c_namespace):
|
def post_process(self, interface_prefix, cns, cns_upper, cns_lower):
|
||||||
if len(self.doc_string) == 0:
|
if len(self.doc_string) == 0:
|
||||||
self.doc_string = utils.lookup_docs(self.annotations)
|
self.doc_string = utils.lookup_docs(self.annotations)
|
||||||
if len(self.since) == 0:
|
if len(self.since) == 0:
|
||||||
@@ -339,7 +339,7 @@ class Property:
|
|||||||
|
|
||||||
# recalculate arg
|
# recalculate arg
|
||||||
self.arg.annotations = self.annotations
|
self.arg.annotations = self.annotations
|
||||||
self.arg.post_process(interface_prefix, c_namespace, 0)
|
self.arg.post_process(interface_prefix, cns, cns_upper, cns_lower, 0)
|
||||||
|
|
||||||
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true':
|
||||||
self.deprecated = True
|
self.deprecated = True
|
||||||
@@ -364,18 +364,28 @@ class Interface:
|
|||||||
if len(self.since) == 0:
|
if len(self.since) == 0:
|
||||||
self.since = utils.lookup_since(self.annotations)
|
self.since = utils.lookup_since(self.annotations)
|
||||||
|
|
||||||
|
if len(c_namespace) > 0:
|
||||||
|
if utils.is_ugly_case(c_namespace):
|
||||||
|
cns = c_namespace.replace('_', '')
|
||||||
|
cns_upper = c_namespace.upper() + '_'
|
||||||
|
cns_lower = c_namespace.lower() + '_'
|
||||||
|
else:
|
||||||
|
cns = c_namespace
|
||||||
|
cns_upper = utils.camel_case_to_uscore(c_namespace).upper() + '_'
|
||||||
|
cns_lower = utils.camel_case_to_uscore(c_namespace).lower() + '_'
|
||||||
|
else:
|
||||||
|
cns = ''
|
||||||
|
cns_upper = ''
|
||||||
|
cns_lower = ''
|
||||||
|
|
||||||
overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name')
|
overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name')
|
||||||
if utils.is_ugly_case(overridden_name):
|
if utils.is_ugly_case(overridden_name):
|
||||||
name = overridden_name.replace('_', '')
|
name = overridden_name.replace('_', '')
|
||||||
name_with_ns = c_namespace + name
|
name_with_ns = cns + name
|
||||||
self.name_without_prefix = name
|
self.name_without_prefix = name
|
||||||
self.camel_name = name_with_ns
|
self.camel_name = name_with_ns
|
||||||
if len(c_namespace) > 0:
|
self.ns_upper = cns_upper
|
||||||
self.ns_upper = utils.camel_case_to_uscore(c_namespace).upper() + '_'
|
self.name_lower = cns_lower + overridden_name.lower()
|
||||||
self.name_lower = utils.camel_case_to_uscore(c_namespace) + '_' + overridden_name.lower()
|
|
||||||
else:
|
|
||||||
self.ns_upper = ''
|
|
||||||
self.name_lower = overridden_name.lower()
|
|
||||||
self.name_upper = overridden_name.upper()
|
self.name_upper = overridden_name.upper()
|
||||||
|
|
||||||
#raise RuntimeError('handle Ugly_Case ', overridden_name)
|
#raise RuntimeError('handle Ugly_Case ', overridden_name)
|
||||||
@@ -388,15 +398,10 @@ class Interface:
|
|||||||
name = name[len(interface_prefix):]
|
name = name[len(interface_prefix):]
|
||||||
self.name_without_prefix = name
|
self.name_without_prefix = name
|
||||||
name = utils.strip_dots(name)
|
name = utils.strip_dots(name)
|
||||||
name_with_ns = utils.strip_dots(c_namespace + '.' + name)
|
name_with_ns = utils.strip_dots(cns + '.' + name)
|
||||||
|
|
||||||
self.camel_name = name_with_ns
|
self.camel_name = name_with_ns
|
||||||
if len(c_namespace) > 0:
|
self.ns_upper = cns_upper
|
||||||
self.ns_upper = utils.camel_case_to_uscore(c_namespace).upper() + '_'
|
self.name_lower = cns_lower + utils.camel_case_to_uscore(name)
|
||||||
self.name_lower = utils.camel_case_to_uscore(c_namespace) + '_' + utils.camel_case_to_uscore(name)
|
|
||||||
else:
|
|
||||||
self.ns_upper = ''
|
|
||||||
self.name_lower = utils.camel_case_to_uscore(name_with_ns)
|
|
||||||
self.name_upper = utils.camel_case_to_uscore(name).upper()
|
self.name_upper = utils.camel_case_to_uscore(name).upper()
|
||||||
|
|
||||||
self.name_hyphen = self.name_upper.lower().replace('_', '-')
|
self.name_hyphen = self.name_upper.lower().replace('_', '-')
|
||||||
@@ -405,10 +410,10 @@ class Interface:
|
|||||||
self.deprecated = True
|
self.deprecated = True
|
||||||
|
|
||||||
for m in self.methods:
|
for m in self.methods:
|
||||||
m.post_process(interface_prefix, c_namespace)
|
m.post_process(interface_prefix, cns, cns_upper, cns_lower)
|
||||||
|
|
||||||
for s in self.signals:
|
for s in self.signals:
|
||||||
s.post_process(interface_prefix, c_namespace)
|
s.post_process(interface_prefix, cns, cns_upper, cns_lower)
|
||||||
|
|
||||||
for p in self.properties:
|
for p in self.properties:
|
||||||
p.post_process(interface_prefix, c_namespace)
|
p.post_process(interface_prefix, cns, cns_upper, cns_lower)
|
||||||
|
@@ -272,7 +272,7 @@ gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c : test-codegen.xml
|
|||||||
--interface-prefix org.project. \
|
--interface-prefix org.project. \
|
||||||
--generate-c-code gdbus-test-codegen-generated \
|
--generate-c-code gdbus-test-codegen-generated \
|
||||||
--c-generate-object-manager \
|
--c-generate-object-manager \
|
||||||
--c-namespace Foo \
|
--c-namespace Foo_iGen \
|
||||||
--generate-docbook gdbus-test-codegen-generated-doc \
|
--generate-docbook gdbus-test-codegen-generated-doc \
|
||||||
--annotate "org.project.Bar" Key1 Value1 \
|
--annotate "org.project.Bar" Key1 Value1 \
|
||||||
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
|
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
|
||||||
|
@@ -54,7 +54,7 @@ test_annotations (void)
|
|||||||
GDBusSignalInfo *signal;
|
GDBusSignalInfo *signal;
|
||||||
GDBusPropertyInfo *property;
|
GDBusPropertyInfo *property;
|
||||||
|
|
||||||
iface = foo_bar_interface_info ();
|
iface = foo_igen_bar_interface_info ();
|
||||||
g_assert (iface != NULL);
|
g_assert (iface != NULL);
|
||||||
|
|
||||||
/* see Makefile.am for where these annotations are injected */
|
/* see Makefile.am for where these annotations are injected */
|
||||||
@@ -87,20 +87,20 @@ test_annotations (void)
|
|||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_hello_world (FooBar *object,
|
on_handle_hello_world (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
const gchar *greeting,
|
const gchar *greeting,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
gchar *response;
|
gchar *response;
|
||||||
response = g_strdup_printf ("Word! You said `%s'. I'm Skeleton, btw!", greeting);
|
response = g_strdup_printf ("Word! You said `%s'. I'm Skeleton, btw!", greeting);
|
||||||
foo_bar_complete_hello_world (object, invocation, response);
|
foo_igen_bar_complete_hello_world (object, invocation, response);
|
||||||
g_free (response);
|
g_free (response);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_test_primitive_types (FooBar *object,
|
on_handle_test_primitive_types (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
guchar val_byte,
|
guchar val_byte,
|
||||||
gboolean val_boolean,
|
gboolean val_boolean,
|
||||||
@@ -123,7 +123,7 @@ on_handle_test_primitive_types (FooBar *object,
|
|||||||
s1 = g_strdup_printf ("Word! You said `%s'. Rock'n'roll!", val_string);
|
s1 = g_strdup_printf ("Word! You said `%s'. Rock'n'roll!", val_string);
|
||||||
s2 = g_strdup_printf ("/modified%s", val_objpath);
|
s2 = g_strdup_printf ("/modified%s", val_objpath);
|
||||||
s3 = g_strdup_printf ("assgit%s", val_signature);
|
s3 = g_strdup_printf ("assgit%s", val_signature);
|
||||||
foo_bar_complete_test_primitive_types (object,
|
foo_igen_bar_complete_test_primitive_types (object,
|
||||||
invocation,
|
invocation,
|
||||||
10 + val_byte,
|
10 + val_byte,
|
||||||
!val_boolean,
|
!val_boolean,
|
||||||
@@ -145,7 +145,7 @@ on_handle_test_primitive_types (FooBar *object,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_test_non_primitive_types (FooBar *object,
|
on_handle_test_non_primitive_types (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
GVariant *dict_s_to_s,
|
GVariant *dict_s_to_s,
|
||||||
GVariant *dict_s_to_pairs,
|
GVariant *dict_s_to_pairs,
|
||||||
@@ -174,13 +174,13 @@ on_handle_test_non_primitive_types (FooBar *object,
|
|||||||
s = g_strjoinv (", ", (gchar **) array_of_bytestrings);
|
s = g_strjoinv (", ", (gchar **) array_of_bytestrings);
|
||||||
g_string_append_printf (str, "array_of_bytestrings: [%s] ", s);
|
g_string_append_printf (str, "array_of_bytestrings: [%s] ", s);
|
||||||
g_free (s);
|
g_free (s);
|
||||||
foo_bar_complete_test_non_primitive_types (object, invocation, str->str);
|
foo_igen_bar_complete_test_non_primitive_types (object, invocation, str->str);
|
||||||
g_string_free (str, TRUE);
|
g_string_free (str, TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_request_signal_emission (FooBar *object,
|
on_handle_request_signal_emission (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gint which_one,
|
gint which_one,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@@ -190,52 +190,52 @@ on_handle_request_signal_emission (FooBar *object,
|
|||||||
const gchar *a_strv[] = {"foo", "bar", NULL};
|
const gchar *a_strv[] = {"foo", "bar", NULL};
|
||||||
const gchar *a_bytestring_array[] = {"foo\xff", "bar\xff", NULL};
|
const gchar *a_bytestring_array[] = {"foo\xff", "bar\xff", NULL};
|
||||||
GVariant *a_variant = g_variant_new_parsed ("{'first': (42, 42), 'second': (43, 43)}");
|
GVariant *a_variant = g_variant_new_parsed ("{'first': (42, 42), 'second': (43, 43)}");
|
||||||
foo_bar_emit_test_signal (object, 43, a_strv, a_bytestring_array, a_variant); /* consumes a_variant */
|
foo_igen_bar_emit_test_signal (object, 43, a_strv, a_bytestring_array, a_variant); /* consumes a_variant */
|
||||||
foo_bar_complete_request_signal_emission (object, invocation);
|
foo_igen_bar_complete_request_signal_emission (object, invocation);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_request_multi_property_mods (FooBar *object,
|
on_handle_request_multi_property_mods (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
foo_bar_set_y (object, foo_bar_get_y (object) + 1);
|
foo_igen_bar_set_y (object, foo_igen_bar_get_y (object) + 1);
|
||||||
foo_bar_set_i (object, foo_bar_get_i (object) + 1);
|
foo_igen_bar_set_i (object, foo_igen_bar_get_i (object) + 1);
|
||||||
foo_bar_set_y (object, foo_bar_get_y (object) + 1);
|
foo_igen_bar_set_y (object, foo_igen_bar_get_y (object) + 1);
|
||||||
foo_bar_set_i (object, foo_bar_get_i (object) + 1);
|
foo_igen_bar_set_i (object, foo_igen_bar_get_i (object) + 1);
|
||||||
g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (object));
|
g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (object));
|
||||||
foo_bar_set_y (object, foo_bar_get_y (object) + 1);
|
foo_igen_bar_set_y (object, foo_igen_bar_get_y (object) + 1);
|
||||||
foo_bar_set_i (object, foo_bar_get_i (object) + 1);
|
foo_igen_bar_set_i (object, foo_igen_bar_get_i (object) + 1);
|
||||||
foo_bar_complete_request_multi_property_mods (object, invocation);
|
foo_igen_bar_complete_request_multi_property_mods (object, invocation);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_property_cancellation (FooBar *object,
|
on_handle_property_cancellation (FooiGenBar *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
guint n;
|
guint n;
|
||||||
n = foo_bar_get_n (object);
|
n = foo_igen_bar_get_n (object);
|
||||||
/* This queues up a PropertiesChange event */
|
/* This queues up a PropertiesChange event */
|
||||||
foo_bar_set_n (object, n + 1);
|
foo_igen_bar_set_n (object, n + 1);
|
||||||
/* this modifies the queued up event */
|
/* this modifies the queued up event */
|
||||||
foo_bar_set_n (object, n);
|
foo_igen_bar_set_n (object, n);
|
||||||
/* this flushes all PropertiesChanges event (sends the D-Bus message right
|
/* this flushes all PropertiesChanges event (sends the D-Bus message right
|
||||||
* away, if any - there should not be any)
|
* away, if any - there should not be any)
|
||||||
*/
|
*/
|
||||||
g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (object));
|
g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (object));
|
||||||
/* this makes us return the reply D-Bus method */
|
/* this makes us return the reply D-Bus method */
|
||||||
foo_bar_complete_property_cancellation (object, invocation);
|
foo_igen_bar_complete_property_cancellation (object, invocation);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_force_method (FooBat *object,
|
on_handle_force_method (FooiGenBat *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
GVariant *force_in_i,
|
GVariant *force_in_i,
|
||||||
GVariant *force_in_s,
|
GVariant *force_in_s,
|
||||||
@@ -266,13 +266,13 @@ on_handle_force_method (FooBat *object,
|
|||||||
g_variant_ref_sink (ret_ay);
|
g_variant_ref_sink (ret_ay);
|
||||||
g_variant_ref_sink (ret_struct);
|
g_variant_ref_sink (ret_struct);
|
||||||
|
|
||||||
foo_bat_emit_force_signal (object,
|
foo_igen_bat_emit_force_signal (object,
|
||||||
ret_i,
|
ret_i,
|
||||||
ret_s,
|
ret_s,
|
||||||
ret_ay,
|
ret_ay,
|
||||||
ret_struct);
|
ret_struct);
|
||||||
|
|
||||||
foo_bat_complete_force_method (object,
|
foo_igen_bat_complete_force_method (object,
|
||||||
invocation,
|
invocation,
|
||||||
ret_i,
|
ret_i,
|
||||||
ret_s,
|
ret_s,
|
||||||
@@ -368,42 +368,42 @@ my_object_authorize_method_handler (GDBusObjectSkeleton *object,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_check_not_authorized (FooAuthorize *object,
|
on_handle_check_not_authorized (FooiGenAuthorize *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
foo_authorize_complete_check_not_authorized (object, invocation);
|
foo_igen_authorize_complete_check_not_authorized (object, invocation);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_check_authorized (FooAuthorize *object,
|
on_handle_check_authorized (FooiGenAuthorize *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
foo_authorize_complete_check_authorized (object, invocation);
|
foo_igen_authorize_complete_check_authorized (object, invocation);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_check_not_authorized_from_object (FooAuthorize *object,
|
on_handle_check_not_authorized_from_object (FooiGenAuthorize *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
foo_authorize_complete_check_not_authorized_from_object (object, invocation);
|
foo_igen_authorize_complete_check_not_authorized_from_object (object, invocation);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
on_handle_get_self (FooMethodThreads *object,
|
on_handle_get_self (FooiGenMethodThreads *object,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
gchar *s;
|
gchar *s;
|
||||||
s = g_strdup_printf ("%p", g_thread_self ());
|
s = g_strdup_printf ("%p", g_thread_self ());
|
||||||
foo_method_threads_complete_get_self (object, invocation, s);
|
foo_igen_method_threads_complete_get_self (object, invocation, s);
|
||||||
g_free (s);
|
g_free (s);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -412,12 +412,12 @@ on_handle_get_self (FooMethodThreads *object,
|
|||||||
|
|
||||||
static GThread *method_handler_thread = NULL;
|
static GThread *method_handler_thread = NULL;
|
||||||
|
|
||||||
static FooBar *exported_bar_object = NULL;
|
static FooiGenBar *exported_bar_object = NULL;
|
||||||
static FooBat *exported_bat_object = NULL;
|
static FooiGenBat *exported_bat_object = NULL;
|
||||||
static FooAuthorize *exported_authorize_object = NULL;
|
static FooiGenAuthorize *exported_authorize_object = NULL;
|
||||||
static GDBusObjectSkeleton *authorize_enclosing_object = NULL;
|
static GDBusObjectSkeleton *authorize_enclosing_object = NULL;
|
||||||
static FooMethodThreads *exported_thread_object_1 = NULL;
|
static FooiGenMethodThreads *exported_thread_object_1 = NULL;
|
||||||
static FooMethodThreads *exported_thread_object_2 = NULL;
|
static FooiGenMethodThreads *exported_thread_object_2 = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_bus_acquired (GDBusConnection *connection,
|
on_bus_acquired (GDBusConnection *connection,
|
||||||
@@ -427,7 +427,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
GError *error;
|
GError *error;
|
||||||
|
|
||||||
/* Test that we can export an object using the generated
|
/* Test that we can export an object using the generated
|
||||||
* FooBarSkeleton subclass. Notes:
|
* FooiGenBarSkeleton subclass. Notes:
|
||||||
*
|
*
|
||||||
* 1. We handle methods by simply connecting to the appropriate
|
* 1. We handle methods by simply connecting to the appropriate
|
||||||
* GObject signal.
|
* GObject signal.
|
||||||
@@ -437,18 +437,18 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
* C bindings at will)
|
* C bindings at will)
|
||||||
*/
|
*/
|
||||||
error = NULL;
|
error = NULL;
|
||||||
exported_bar_object = foo_bar_skeleton_new ();
|
exported_bar_object = foo_igen_bar_skeleton_new ();
|
||||||
foo_bar_set_ay (exported_bar_object, "ABCabc");
|
foo_igen_bar_set_ay (exported_bar_object, "ABCabc");
|
||||||
foo_bar_set_y (exported_bar_object, 42);
|
foo_igen_bar_set_y (exported_bar_object, 42);
|
||||||
foo_bar_set_d (exported_bar_object, 43.0);
|
foo_igen_bar_set_d (exported_bar_object, 43.0);
|
||||||
foo_bar_set_finally_normal_name (exported_bar_object, "There aint no place like home");
|
foo_igen_bar_set_finally_normal_name (exported_bar_object, "There aint no place like home");
|
||||||
foo_bar_set_writeonly_property (exported_bar_object, "Mr. Burns");
|
foo_igen_bar_set_writeonly_property (exported_bar_object, "Mr. Burns");
|
||||||
|
|
||||||
/* The following works because it's on the Skeleton object - it will
|
/* The following works because it's on the Skeleton object - it will
|
||||||
* fail (at run-time) on a Proxy (see on_proxy_appeared() below)
|
* fail (at run-time) on a Proxy (see on_proxy_appeared() below)
|
||||||
*/
|
*/
|
||||||
foo_bar_set_readonly_property (exported_bar_object, "blah");
|
foo_igen_bar_set_readonly_property (exported_bar_object, "blah");
|
||||||
g_assert_cmpstr (foo_bar_get_writeonly_property (exported_bar_object), ==, "Mr. Burns");
|
g_assert_cmpstr (foo_igen_bar_get_writeonly_property (exported_bar_object), ==, "Mr. Burns");
|
||||||
|
|
||||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_bar_object),
|
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_bar_object),
|
||||||
connection,
|
connection,
|
||||||
@@ -480,7 +480,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
G_CALLBACK (on_handle_property_cancellation),
|
G_CALLBACK (on_handle_property_cancellation),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
exported_bat_object = foo_bat_skeleton_new ();
|
exported_bat_object = foo_igen_bat_skeleton_new ();
|
||||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_bat_object),
|
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_bat_object),
|
||||||
connection,
|
connection,
|
||||||
"/bat",
|
"/bat",
|
||||||
@@ -502,7 +502,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
"authorize-method",
|
"authorize-method",
|
||||||
G_CALLBACK (my_object_authorize_method_handler),
|
G_CALLBACK (my_object_authorize_method_handler),
|
||||||
NULL);
|
NULL);
|
||||||
exported_authorize_object = foo_authorize_skeleton_new ();
|
exported_authorize_object = foo_igen_authorize_skeleton_new ();
|
||||||
g_dbus_object_skeleton_add_interface (authorize_enclosing_object,
|
g_dbus_object_skeleton_add_interface (authorize_enclosing_object,
|
||||||
G_DBUS_INTERFACE_SKELETON (exported_authorize_object));
|
G_DBUS_INTERFACE_SKELETON (exported_authorize_object));
|
||||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_authorize_object),
|
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_authorize_object),
|
||||||
@@ -529,7 +529,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
|
|
||||||
|
|
||||||
/* only object 1 has the G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD flag set */
|
/* only object 1 has the G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD flag set */
|
||||||
exported_thread_object_1 = foo_method_threads_skeleton_new ();
|
exported_thread_object_1 = foo_igen_method_threads_skeleton_new ();
|
||||||
g_dbus_interface_skeleton_set_flags (G_DBUS_INTERFACE_SKELETON (exported_thread_object_1),
|
g_dbus_interface_skeleton_set_flags (G_DBUS_INTERFACE_SKELETON (exported_thread_object_1),
|
||||||
G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD);
|
G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD);
|
||||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_thread_object_1),
|
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_thread_object_1),
|
||||||
@@ -542,7 +542,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|||||||
G_CALLBACK (on_handle_get_self),
|
G_CALLBACK (on_handle_get_self),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
exported_thread_object_2 = foo_method_threads_skeleton_new ();
|
exported_thread_object_2 = foo_igen_method_threads_skeleton_new ();
|
||||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_thread_object_2),
|
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (exported_thread_object_2),
|
||||||
connection,
|
connection,
|
||||||
"/method_threads_2",
|
"/method_threads_2",
|
||||||
@@ -619,19 +619,19 @@ on_g_properties_changed (GDBusProxy *_proxy,
|
|||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
ClientData *data = user_data;
|
ClientData *data = user_data;
|
||||||
FooBar *proxy = FOO_BAR (_proxy);
|
FooiGenBar *proxy = FOO_IGEN_BAR (_proxy);
|
||||||
|
|
||||||
g_assert_cmpint (g_variant_n_children (changed_properties), ==, 2);
|
g_assert_cmpint (g_variant_n_children (changed_properties), ==, 2);
|
||||||
|
|
||||||
if (data->num_g_properties_changed == 0)
|
if (data->num_g_properties_changed == 0)
|
||||||
{
|
{
|
||||||
g_assert_cmpint (data->initial_y, ==, foo_bar_get_y (proxy) - 2);
|
g_assert_cmpint (data->initial_y, ==, foo_igen_bar_get_y (proxy) - 2);
|
||||||
g_assert_cmpint (data->initial_i, ==, foo_bar_get_i (proxy) - 2);
|
g_assert_cmpint (data->initial_i, ==, foo_igen_bar_get_i (proxy) - 2);
|
||||||
}
|
}
|
||||||
else if (data->num_g_properties_changed == 1)
|
else if (data->num_g_properties_changed == 1)
|
||||||
{
|
{
|
||||||
g_assert_cmpint (data->initial_y, ==, foo_bar_get_y (proxy) - 3);
|
g_assert_cmpint (data->initial_y, ==, foo_igen_bar_get_y (proxy) - 3);
|
||||||
g_assert_cmpint (data->initial_i, ==, foo_bar_get_i (proxy) - 3);
|
g_assert_cmpint (data->initial_i, ==, foo_igen_bar_get_i (proxy) - 3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
@@ -643,7 +643,7 @@ on_g_properties_changed (GDBusProxy *_proxy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_test_signal (FooBar *proxy,
|
on_test_signal (FooiGenBar *proxy,
|
||||||
gint val_int32,
|
gint val_int32,
|
||||||
const gchar* const *array_of_strings,
|
const gchar* const *array_of_strings,
|
||||||
const gchar* const *array_of_bytestrings,
|
const gchar* const *array_of_bytestrings,
|
||||||
@@ -665,7 +665,7 @@ on_test_signal (FooBar *proxy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_property_cancellation_cb (FooBar *proxy,
|
on_property_cancellation_cb (FooiGenBar *proxy,
|
||||||
GAsyncResult *res,
|
GAsyncResult *res,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
@@ -674,7 +674,7 @@ on_property_cancellation_cb (FooBar *proxy,
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_property_cancellation_finish (proxy, res, &error);
|
ret = foo_igen_bar_call_property_cancellation_finish (proxy, res, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
|
|
||||||
@@ -682,7 +682,7 @@ on_property_cancellation_cb (FooBar *proxy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_bar_proxy (FooBar *proxy,
|
check_bar_proxy (FooiGenBar *proxy,
|
||||||
GMainLoop *thread_loop)
|
GMainLoop *thread_loop)
|
||||||
{
|
{
|
||||||
guchar ret_val_byte;
|
guchar ret_val_byte;
|
||||||
@@ -817,9 +817,9 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
* the org.fd.DBus.Properties.Set() method asynchronously. So we
|
* the org.fd.DBus.Properties.Set() method asynchronously. So we
|
||||||
* have to wait for properties-changed...
|
* have to wait for properties-changed...
|
||||||
*/
|
*/
|
||||||
foo_bar_set_finally_normal_name (proxy, "foo!");
|
foo_igen_bar_set_finally_normal_name (proxy, "foo!");
|
||||||
_g_assert_property_notify (proxy, "finally-normal-name");
|
_g_assert_property_notify (proxy, "finally-normal-name");
|
||||||
g_assert_cmpstr (foo_bar_get_finally_normal_name (proxy), ==, "foo!");
|
g_assert_cmpstr (foo_igen_bar_get_finally_normal_name (proxy), ==, "foo!");
|
||||||
|
|
||||||
/* Try setting properties that requires memory management. This
|
/* Try setting properties that requires memory management. This
|
||||||
* is to exercise the paths that frees the references.
|
* is to exercise the paths that frees the references.
|
||||||
@@ -840,7 +840,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_test_primitive_types_sync (proxy,
|
ret = foo_igen_bar_call_test_primitive_types_sync (proxy,
|
||||||
10,
|
10,
|
||||||
TRUE,
|
TRUE,
|
||||||
11,
|
11,
|
||||||
@@ -873,7 +873,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_test_non_primitive_types_sync (proxy,
|
ret = foo_igen_bar_call_test_non_primitive_types_sync (proxy,
|
||||||
g_variant_new_parsed ("{'one': 'red',"
|
g_variant_new_parsed ("{'one': 'red',"
|
||||||
" 'two': 'blue'}"),
|
" 'two': 'blue'}"),
|
||||||
g_variant_new_parsed ("{'first': (42, 42), "
|
g_variant_new_parsed ("{'first': (42, 42), "
|
||||||
@@ -894,7 +894,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
* unimplemented methods.
|
* unimplemented methods.
|
||||||
*/
|
*/
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_unimplemented_method_sync (proxy, NULL /* GCancellable */, &error);
|
ret = foo_igen_bar_call_unimplemented_method_sync (proxy, NULL /* GCancellable */, &error);
|
||||||
g_assert_error (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD);
|
g_assert_error (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
@@ -905,7 +905,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
G_CALLBACK (on_test_signal),
|
G_CALLBACK (on_test_signal),
|
||||||
data);
|
data);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_request_signal_emission_sync (proxy, 0, NULL, &error);
|
ret = foo_igen_bar_call_request_signal_emission_sync (proxy, 0, NULL, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
|
|
||||||
@@ -917,9 +917,9 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
* the org.fd.DBus.Properties.Set() method asynchronously. So we
|
* the org.fd.DBus.Properties.Set() method asynchronously. So we
|
||||||
* have to wait for properties-changed...
|
* have to wait for properties-changed...
|
||||||
*/
|
*/
|
||||||
foo_bar_set_finally_normal_name (proxy, "hey back!");
|
foo_igen_bar_set_finally_normal_name (proxy, "hey back!");
|
||||||
_g_assert_property_notify (proxy, "finally-normal-name");
|
_g_assert_property_notify (proxy, "finally-normal-name");
|
||||||
g_assert_cmpstr (foo_bar_get_finally_normal_name (proxy), ==, "hey back!");
|
g_assert_cmpstr (foo_igen_bar_get_finally_normal_name (proxy), ==, "hey back!");
|
||||||
|
|
||||||
/* Check that multiple calls to a strv getter works... and that
|
/* Check that multiple calls to a strv getter works... and that
|
||||||
* updates on them works as well (See comment for "property vfuncs"
|
* updates on them works as well (See comment for "property vfuncs"
|
||||||
@@ -928,8 +928,8 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
const gchar *const *read_as;
|
const gchar *const *read_as;
|
||||||
const gchar *const *read_as2;
|
const gchar *const *read_as2;
|
||||||
const gchar *const *read_as3;
|
const gchar *const *read_as3;
|
||||||
read_as = foo_bar_get_as (proxy);
|
read_as = foo_igen_bar_get_as (proxy);
|
||||||
read_as2 = foo_bar_get_as (proxy);
|
read_as2 = foo_igen_bar_get_as (proxy);
|
||||||
g_assert_cmpint (g_strv_length ((gchar **) read_as), ==, 2);
|
g_assert_cmpint (g_strv_length ((gchar **) read_as), ==, 2);
|
||||||
g_assert_cmpstr (read_as[0], ==, "one");
|
g_assert_cmpstr (read_as[0], ==, "one");
|
||||||
g_assert_cmpstr (read_as[1], ==, "two");
|
g_assert_cmpstr (read_as[1], ==, "two");
|
||||||
@@ -938,7 +938,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
"as", array_of_strings_2,
|
"as", array_of_strings_2,
|
||||||
NULL);
|
NULL);
|
||||||
_g_assert_property_notify (proxy, "as");
|
_g_assert_property_notify (proxy, "as");
|
||||||
read_as3 = foo_bar_get_as (proxy);
|
read_as3 = foo_igen_bar_get_as (proxy);
|
||||||
g_assert_cmpint (g_strv_length ((gchar **) read_as3), ==, 2);
|
g_assert_cmpint (g_strv_length ((gchar **) read_as3), ==, 2);
|
||||||
g_assert_cmpstr (read_as3[0], ==, "one2");
|
g_assert_cmpstr (read_as3[0], ==, "one2");
|
||||||
g_assert_cmpstr (read_as3[1], ==, "two2");
|
g_assert_cmpstr (read_as3[1], ==, "two2");
|
||||||
@@ -955,14 +955,14 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
*
|
*
|
||||||
* This also checks that _drain_notify() works.
|
* This also checks that _drain_notify() works.
|
||||||
*/
|
*/
|
||||||
data->initial_y = foo_bar_get_y (proxy);
|
data->initial_y = foo_igen_bar_get_y (proxy);
|
||||||
data->initial_i = foo_bar_get_i (proxy);
|
data->initial_i = foo_igen_bar_get_i (proxy);
|
||||||
g_signal_connect (proxy,
|
g_signal_connect (proxy,
|
||||||
"g-properties-changed",
|
"g-properties-changed",
|
||||||
G_CALLBACK (on_g_properties_changed),
|
G_CALLBACK (on_g_properties_changed),
|
||||||
data);
|
data);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_bar_call_request_multi_property_mods_sync (proxy, NULL, &error);
|
ret = foo_igen_bar_call_request_multi_property_mods_sync (proxy, NULL, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
g_main_loop_run (thread_loop);
|
g_main_loop_run (thread_loop);
|
||||||
@@ -981,11 +981,11 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
"notify::u",
|
"notify::u",
|
||||||
G_CALLBACK (on_notify_u),
|
G_CALLBACK (on_notify_u),
|
||||||
data);
|
data);
|
||||||
foo_bar_set_u (proxy, 1042);
|
foo_igen_bar_set_u (proxy, 1042);
|
||||||
g_assert_cmpint (data->num_notify_u, ==, 1);
|
g_assert_cmpint (data->num_notify_u, ==, 1);
|
||||||
g_assert_cmpint (foo_bar_get_u (proxy), ==, 0);
|
g_assert_cmpint (foo_igen_bar_get_u (proxy), ==, 0);
|
||||||
_g_assert_property_notify (proxy, "u");
|
_g_assert_property_notify (proxy, "u");
|
||||||
g_assert_cmpint (foo_bar_get_u (proxy), ==, 1042);
|
g_assert_cmpint (foo_igen_bar_get_u (proxy), ==, 1042);
|
||||||
g_assert_cmpint (data->num_notify_u, ==, 2);
|
g_assert_cmpint (data->num_notify_u, ==, 2);
|
||||||
|
|
||||||
/* Now change u again to the same value.. this will cause a
|
/* Now change u again to the same value.. this will cause a
|
||||||
@@ -1001,7 +1001,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
* property and wait for that PropertiesChanged() message
|
* property and wait for that PropertiesChanged() message
|
||||||
* to arrive.
|
* to arrive.
|
||||||
*/
|
*/
|
||||||
foo_bar_set_u (proxy, 1042);
|
foo_igen_bar_set_u (proxy, 1042);
|
||||||
g_assert_cmpint (data->num_notify_u, ==, 3);
|
g_assert_cmpint (data->num_notify_u, ==, 3);
|
||||||
|
|
||||||
g_assert_cmpint (data->num_notify_n, ==, 0);
|
g_assert_cmpint (data->num_notify_n, ==, 0);
|
||||||
@@ -1009,25 +1009,25 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
"notify::n",
|
"notify::n",
|
||||||
G_CALLBACK (on_notify_n),
|
G_CALLBACK (on_notify_n),
|
||||||
data);
|
data);
|
||||||
foo_bar_set_n (proxy, 10042);
|
foo_igen_bar_set_n (proxy, 10042);
|
||||||
g_assert_cmpint (data->num_notify_n, ==, 1);
|
g_assert_cmpint (data->num_notify_n, ==, 1);
|
||||||
g_assert_cmpint (foo_bar_get_n (proxy), ==, 0);
|
g_assert_cmpint (foo_igen_bar_get_n (proxy), ==, 0);
|
||||||
_g_assert_property_notify (proxy, "n");
|
_g_assert_property_notify (proxy, "n");
|
||||||
g_assert_cmpint (foo_bar_get_n (proxy), ==, 10042);
|
g_assert_cmpint (foo_igen_bar_get_n (proxy), ==, 10042);
|
||||||
g_assert_cmpint (data->num_notify_n, ==, 2);
|
g_assert_cmpint (data->num_notify_n, ==, 2);
|
||||||
/* Checks that u didn't change at all */
|
/* Checks that u didn't change at all */
|
||||||
g_assert_cmpint (data->num_notify_u, ==, 3);
|
g_assert_cmpint (data->num_notify_u, ==, 3);
|
||||||
|
|
||||||
/* Now we check that if the service does
|
/* Now we check that if the service does
|
||||||
*
|
*
|
||||||
* guint n = foo_bar_get_n (foo);
|
* guint n = foo_igen_bar_get_n (foo);
|
||||||
* foo_bar_set_n (foo, n + 1);
|
* foo_igen_bar_set_n (foo, n + 1);
|
||||||
* foo_bar_set_n (foo, n);
|
* foo_igen_bar_set_n (foo, n);
|
||||||
*
|
*
|
||||||
* then no PropertiesChanged() signal is emitted!
|
* then no PropertiesChanged() signal is emitted!
|
||||||
*/
|
*/
|
||||||
error = NULL;
|
error = NULL;
|
||||||
foo_bar_call_property_cancellation (proxy,
|
foo_igen_bar_call_property_cancellation (proxy,
|
||||||
NULL, /* GCancellable */
|
NULL, /* GCancellable */
|
||||||
(GAsyncReadyCallback) on_property_cancellation_cb,
|
(GAsyncReadyCallback) on_property_cancellation_cb,
|
||||||
data);
|
data);
|
||||||
@@ -1042,7 +1042,7 @@ check_bar_proxy (FooBar *proxy,
|
|||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_force_signal (FooBat *proxy,
|
on_force_signal (FooiGenBat *proxy,
|
||||||
GVariant *force_i,
|
GVariant *force_i,
|
||||||
GVariant *force_s,
|
GVariant *force_s,
|
||||||
GVariant *force_ay,
|
GVariant *force_ay,
|
||||||
@@ -1064,7 +1064,7 @@ on_force_signal (FooBat *proxy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_bat_proxy (FooBat *proxy,
|
check_bat_proxy (FooiGenBat *proxy,
|
||||||
GMainLoop *thread_loop)
|
GMainLoop *thread_loop)
|
||||||
{
|
{
|
||||||
GError *error;
|
GError *error;
|
||||||
@@ -1104,7 +1104,7 @@ check_bat_proxy (FooBat *proxy,
|
|||||||
&force_signal_received);
|
&force_signal_received);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
foo_bat_call_force_method_sync (proxy,
|
foo_igen_bat_call_force_method_sync (proxy,
|
||||||
g_variant_new_int32 (42),
|
g_variant_new_int32 (42),
|
||||||
g_variant_new_string ("a string"),
|
g_variant_new_string ("a string"),
|
||||||
g_variant_new_bytestring ("a bytestring\xff"),
|
g_variant_new_bytestring ("a bytestring\xff"),
|
||||||
@@ -1132,7 +1132,7 @@ check_bat_proxy (FooBat *proxy,
|
|||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_authorize_proxy (FooAuthorize *proxy,
|
check_authorize_proxy (FooiGenAuthorize *proxy,
|
||||||
GMainLoop *thread_loop)
|
GMainLoop *thread_loop)
|
||||||
{
|
{
|
||||||
GError *error;
|
GError *error;
|
||||||
@@ -1141,18 +1141,18 @@ check_authorize_proxy (FooAuthorize *proxy,
|
|||||||
/* Check that g-authorize-method works as intended */
|
/* Check that g-authorize-method works as intended */
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_authorize_call_check_not_authorized_sync (proxy, NULL, &error);
|
ret = foo_igen_authorize_call_check_not_authorized_sync (proxy, NULL, &error);
|
||||||
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED);
|
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
g_assert (!ret);
|
g_assert (!ret);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_authorize_call_check_authorized_sync (proxy, NULL, &error);
|
ret = foo_igen_authorize_call_check_authorized_sync (proxy, NULL, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_authorize_call_check_not_authorized_from_object_sync (proxy, NULL, &error);
|
ret = foo_igen_authorize_call_check_not_authorized_from_object_sync (proxy, NULL, &error);
|
||||||
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_PENDING);
|
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_PENDING);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
g_assert (!ret);
|
g_assert (!ret);
|
||||||
@@ -1161,7 +1161,7 @@ check_authorize_proxy (FooAuthorize *proxy,
|
|||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static GThread *
|
static GThread *
|
||||||
get_self_via_proxy (FooMethodThreads *proxy_1)
|
get_self_via_proxy (FooiGenMethodThreads *proxy_1)
|
||||||
{
|
{
|
||||||
GError *error;
|
GError *error;
|
||||||
gchar *self_str;
|
gchar *self_str;
|
||||||
@@ -1169,7 +1169,7 @@ get_self_via_proxy (FooMethodThreads *proxy_1)
|
|||||||
gpointer self;
|
gpointer self;
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
ret = foo_method_threads_call_get_self_sync (proxy_1, &self_str, NULL, &error);
|
ret = foo_igen_method_threads_call_get_self_sync (proxy_1, &self_str, NULL, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (ret);
|
g_assert (ret);
|
||||||
|
|
||||||
@@ -1181,8 +1181,8 @@ get_self_via_proxy (FooMethodThreads *proxy_1)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_thread_proxies (FooMethodThreads *proxy_1,
|
check_thread_proxies (FooiGenMethodThreads *proxy_1,
|
||||||
FooMethodThreads *proxy_2,
|
FooiGenMethodThreads *proxy_2,
|
||||||
GMainLoop *thread_loop)
|
GMainLoop *thread_loop)
|
||||||
{
|
{
|
||||||
/* proxy_1 is indeed using threads so should never get the handler thread */
|
/* proxy_1 is indeed using threads so should never get the handler thread */
|
||||||
@@ -1201,11 +1201,11 @@ check_proxies_in_thread (gpointer user_data)
|
|||||||
GMainContext *thread_context;
|
GMainContext *thread_context;
|
||||||
GMainLoop *thread_loop;
|
GMainLoop *thread_loop;
|
||||||
GError *error;
|
GError *error;
|
||||||
FooBar *bar_proxy;
|
FooiGenBar *bar_proxy;
|
||||||
FooBat *bat_proxy;
|
FooiGenBat *bat_proxy;
|
||||||
FooAuthorize *authorize_proxy;
|
FooiGenAuthorize *authorize_proxy;
|
||||||
FooMethodThreads *thread_proxy_1;
|
FooiGenMethodThreads *thread_proxy_1;
|
||||||
FooMethodThreads *thread_proxy_2;
|
FooiGenMethodThreads *thread_proxy_2;
|
||||||
|
|
||||||
thread_context = g_main_context_new ();
|
thread_context = g_main_context_new ();
|
||||||
thread_loop = g_main_loop_new (thread_context, FALSE);
|
thread_loop = g_main_loop_new (thread_context, FALSE);
|
||||||
@@ -1213,7 +1213,7 @@ check_proxies_in_thread (gpointer user_data)
|
|||||||
|
|
||||||
/* Check the object */
|
/* Check the object */
|
||||||
error = NULL;
|
error = NULL;
|
||||||
bar_proxy = foo_bar_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
bar_proxy = foo_igen_bar_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
"org.gtk.GDBus.BindingsTool.Test",
|
"org.gtk.GDBus.BindingsTool.Test",
|
||||||
"/bar",
|
"/bar",
|
||||||
@@ -1224,7 +1224,7 @@ check_proxies_in_thread (gpointer user_data)
|
|||||||
g_object_unref (bar_proxy);
|
g_object_unref (bar_proxy);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
bat_proxy = foo_bat_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
bat_proxy = foo_igen_bat_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
"org.gtk.GDBus.BindingsTool.Test",
|
"org.gtk.GDBus.BindingsTool.Test",
|
||||||
"/bat",
|
"/bat",
|
||||||
@@ -1235,7 +1235,7 @@ check_proxies_in_thread (gpointer user_data)
|
|||||||
g_object_unref (bat_proxy);
|
g_object_unref (bat_proxy);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
authorize_proxy = foo_authorize_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
authorize_proxy = foo_igen_authorize_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
"org.gtk.GDBus.BindingsTool.Test",
|
"org.gtk.GDBus.BindingsTool.Test",
|
||||||
"/authorize",
|
"/authorize",
|
||||||
@@ -1246,14 +1246,14 @@ check_proxies_in_thread (gpointer user_data)
|
|||||||
g_object_unref (authorize_proxy);
|
g_object_unref (authorize_proxy);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
thread_proxy_1 = foo_method_threads_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
thread_proxy_1 = foo_igen_method_threads_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
"org.gtk.GDBus.BindingsTool.Test",
|
"org.gtk.GDBus.BindingsTool.Test",
|
||||||
"/method_threads_1",
|
"/method_threads_1",
|
||||||
NULL, /* GCancellable* */
|
NULL, /* GCancellable* */
|
||||||
&error);
|
&error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
thread_proxy_2 = foo_method_threads_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
thread_proxy_2 = foo_igen_method_threads_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
"org.gtk.GDBus.BindingsTool.Test",
|
"org.gtk.GDBus.BindingsTool.Test",
|
||||||
"/method_threads_2",
|
"/method_threads_2",
|
||||||
@@ -1649,7 +1649,7 @@ om_on_signal (GDBusConnection *connection,
|
|||||||
static GAsyncResult *om_res = NULL;
|
static GAsyncResult *om_res = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
om_pm_start_cb (FooObjectManagerClient *manager,
|
om_pm_start_cb (FooiGenObjectManagerClient *manager,
|
||||||
GAsyncResult *res,
|
GAsyncResult *res,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
@@ -1710,27 +1710,27 @@ on_object_proxy_removed (GDBusObjectManagerClient *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
om_check_property_and_signal_emission (GMainLoop *loop,
|
om_check_property_and_signal_emission (GMainLoop *loop,
|
||||||
FooBar *skeleton,
|
FooiGenBar *skeleton,
|
||||||
FooBar *proxy)
|
FooiGenBar *proxy)
|
||||||
{
|
{
|
||||||
/* First PropertiesChanged */
|
/* First PropertiesChanged */
|
||||||
g_assert_cmpint (foo_bar_get_i (skeleton), ==, 0);
|
g_assert_cmpint (foo_igen_bar_get_i (skeleton), ==, 0);
|
||||||
g_assert_cmpint (foo_bar_get_i (proxy), ==, 0);
|
g_assert_cmpint (foo_igen_bar_get_i (proxy), ==, 0);
|
||||||
foo_bar_set_i (skeleton, 1);
|
foo_igen_bar_set_i (skeleton, 1);
|
||||||
_g_assert_property_notify (proxy, "i");
|
_g_assert_property_notify (proxy, "i");
|
||||||
g_assert_cmpint (foo_bar_get_i (skeleton), ==, 1);
|
g_assert_cmpint (foo_igen_bar_get_i (skeleton), ==, 1);
|
||||||
g_assert_cmpint (foo_bar_get_i (proxy), ==, 1);
|
g_assert_cmpint (foo_igen_bar_get_i (proxy), ==, 1);
|
||||||
|
|
||||||
/* Then just a regular signal */
|
/* Then just a regular signal */
|
||||||
foo_bar_emit_another_signal (skeleton, "word");
|
foo_igen_bar_emit_another_signal (skeleton, "word");
|
||||||
_g_assert_signal_received (proxy, "another-signal");
|
_g_assert_signal_received (proxy, "another-signal");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_object_manager (void)
|
check_object_manager (void)
|
||||||
{
|
{
|
||||||
FooObjectSkeleton *o;
|
FooiGenObjectSkeleton *o;
|
||||||
FooObjectSkeleton *o2;
|
FooiGenObjectSkeleton *o2;
|
||||||
GDBusInterfaceSkeleton *i;
|
GDBusInterfaceSkeleton *i;
|
||||||
GDBusConnection *c;
|
GDBusConnection *c;
|
||||||
GDBusObjectManagerServer *manager;
|
GDBusObjectManagerServer *manager;
|
||||||
@@ -1744,7 +1744,7 @@ check_object_manager (void)
|
|||||||
GList *proxies;
|
GList *proxies;
|
||||||
GDBusObject *op;
|
GDBusObject *op;
|
||||||
GDBusProxy *p;
|
GDBusProxy *p;
|
||||||
FooBar *bar_skeleton;
|
FooiGenBar *bar_skeleton;
|
||||||
|
|
||||||
loop = g_main_loop_new (NULL, FALSE);
|
loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
@@ -1777,7 +1777,7 @@ check_object_manager (void)
|
|||||||
* GDBusObjectManagerClient firing before om_on_signal().
|
* GDBusObjectManagerClient firing before om_on_signal().
|
||||||
*/
|
*/
|
||||||
error = NULL;
|
error = NULL;
|
||||||
pm = foo_object_manager_client_new_sync (c,
|
pm = foo_igen_object_manager_client_new_sync (c,
|
||||||
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
|
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
|
||||||
g_dbus_connection_get_unique_name (c),
|
g_dbus_connection_get_unique_name (c),
|
||||||
"/managed",
|
"/managed",
|
||||||
@@ -1803,7 +1803,7 @@ check_object_manager (void)
|
|||||||
|
|
||||||
/* Now try to create the the proxy manager again - this time it should work */
|
/* Now try to create the the proxy manager again - this time it should work */
|
||||||
error = NULL;
|
error = NULL;
|
||||||
foo_object_manager_client_new (c,
|
foo_igen_object_manager_client_new (c,
|
||||||
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
|
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
|
||||||
g_dbus_connection_get_unique_name (c),
|
g_dbus_connection_get_unique_name (c),
|
||||||
"/managed",
|
"/managed",
|
||||||
@@ -1812,7 +1812,7 @@ check_object_manager (void)
|
|||||||
loop);
|
loop);
|
||||||
g_main_loop_run (loop);
|
g_main_loop_run (loop);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
pm = foo_object_manager_client_new_finish (om_res, &error);
|
pm = foo_igen_object_manager_client_new_finish (om_res, &error);
|
||||||
g_object_unref (om_res);
|
g_object_unref (om_res);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (pm != NULL);
|
g_assert (pm != NULL);
|
||||||
@@ -1831,19 +1831,19 @@ check_object_manager (void)
|
|||||||
/* First, export an object with a single interface (also check that
|
/* First, export an object with a single interface (also check that
|
||||||
* g_dbus_interface_get_object() works and that the object isn't reffed)
|
* g_dbus_interface_get_object() works and that the object isn't reffed)
|
||||||
*/
|
*/
|
||||||
o = foo_object_skeleton_new ("/managed/first");
|
o = foo_igen_object_skeleton_new ("/managed/first");
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_bar_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_bar_skeleton_new ());
|
||||||
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == NULL);
|
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == NULL);
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
foo_object_skeleton_set_bar (o, FOO_BAR (i));
|
foo_igen_object_skeleton_set_bar (o, FOO_IGEN_BAR (i));
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == G_DBUS_OBJECT (o));
|
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == G_DBUS_OBJECT (o));
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
foo_object_skeleton_set_bar (o, NULL);
|
foo_igen_object_skeleton_set_bar (o, NULL);
|
||||||
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == NULL);
|
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == NULL);
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
foo_object_skeleton_set_bar (o, FOO_BAR (i));
|
foo_igen_object_skeleton_set_bar (o, FOO_IGEN_BAR (i));
|
||||||
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == G_DBUS_OBJECT (o));
|
g_assert (g_dbus_interface_get_object (G_DBUS_INTERFACE (i)) == G_DBUS_OBJECT (o));
|
||||||
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
g_assert_cmpint (G_OBJECT (o)->ref_count, ==, 1);
|
||||||
g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (o));
|
g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (o));
|
||||||
@@ -1863,7 +1863,7 @@ check_object_manager (void)
|
|||||||
g_dbus_node_info_unref (info);
|
g_dbus_node_info_unref (info);
|
||||||
|
|
||||||
/* Now, check adding the same interface replaces the existing one */
|
/* Now, check adding the same interface replaces the existing one */
|
||||||
foo_object_skeleton_set_bar (o, FOO_BAR (i));
|
foo_igen_object_skeleton_set_bar (o, FOO_IGEN_BAR (i));
|
||||||
/* ... check we get the InterfacesRemoved */
|
/* ... check we get the InterfacesRemoved */
|
||||||
om_data->state = 3;
|
om_data->state = 3;
|
||||||
g_main_loop_run (om_data->loop);
|
g_main_loop_run (om_data->loop);
|
||||||
@@ -1881,8 +1881,8 @@ check_object_manager (void)
|
|||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
|
|
||||||
/* check adding an interface of same type (but not same object) replaces the existing one */
|
/* check adding an interface of same type (but not same object) replaces the existing one */
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_bar_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_bar_skeleton_new ());
|
||||||
foo_object_skeleton_set_bar (o, FOO_BAR (i));
|
foo_igen_object_skeleton_set_bar (o, FOO_IGEN_BAR (i));
|
||||||
/* ... check we get the InterfacesRemoved and then InterfacesAdded */
|
/* ... check we get the InterfacesRemoved and then InterfacesAdded */
|
||||||
om_data->state = 7;
|
om_data->state = 7;
|
||||||
g_main_loop_run (om_data->loop);
|
g_main_loop_run (om_data->loop);
|
||||||
@@ -1899,8 +1899,8 @@ check_object_manager (void)
|
|||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
|
|
||||||
/* check adding an interface of another type doesn't replace the existing one */
|
/* check adding an interface of another type doesn't replace the existing one */
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_bat_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_bat_skeleton_new ());
|
||||||
foo_object_skeleton_set_bat (o, FOO_BAT (i));
|
foo_igen_object_skeleton_set_bat (o, FOO_IGEN_BAT (i));
|
||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
/* ... check we get the InterfacesAdded */
|
/* ... check we get the InterfacesAdded */
|
||||||
om_data->state = 11;
|
om_data->state = 11;
|
||||||
@@ -1918,7 +1918,7 @@ check_object_manager (void)
|
|||||||
g_dbus_node_info_unref (info);
|
g_dbus_node_info_unref (info);
|
||||||
|
|
||||||
/* check we can remove an interface */
|
/* check we can remove an interface */
|
||||||
foo_object_skeleton_set_bar (o, NULL);
|
foo_igen_object_skeleton_set_bar (o, NULL);
|
||||||
/* ... check we get the InterfacesRemoved */
|
/* ... check we get the InterfacesRemoved */
|
||||||
om_data->state = 13;
|
om_data->state = 13;
|
||||||
g_main_loop_run (om_data->loop);
|
g_main_loop_run (om_data->loop);
|
||||||
@@ -1937,7 +1937,7 @@ check_object_manager (void)
|
|||||||
* (Note: if a signal was emitted we'd assert in the signal handler
|
* (Note: if a signal was emitted we'd assert in the signal handler
|
||||||
* because we're in state 14)
|
* because we're in state 14)
|
||||||
*/
|
*/
|
||||||
foo_object_skeleton_set_bar (o, NULL);
|
foo_igen_object_skeleton_set_bar (o, NULL);
|
||||||
/* ... check introspection data */
|
/* ... check introspection data */
|
||||||
info = introspect (c, g_dbus_connection_get_unique_name (c), "/managed/first", loop);
|
info = introspect (c, g_dbus_connection_get_unique_name (c), "/managed/first", loop);
|
||||||
g_assert_cmpint (count_interfaces (info), ==, 4); /* Bat + Properties,Introspectable,Peer */
|
g_assert_cmpint (count_interfaces (info), ==, 4); /* Bat + Properties,Introspectable,Peer */
|
||||||
@@ -1945,7 +1945,7 @@ check_object_manager (void)
|
|||||||
g_dbus_node_info_unref (info);
|
g_dbus_node_info_unref (info);
|
||||||
|
|
||||||
/* remove the last interface */
|
/* remove the last interface */
|
||||||
foo_object_skeleton_set_bat (o, NULL);
|
foo_igen_object_skeleton_set_bat (o, NULL);
|
||||||
/* ... check we get the InterfacesRemoved */
|
/* ... check we get the InterfacesRemoved */
|
||||||
om_data->state = 15;
|
om_data->state = 15;
|
||||||
g_main_loop_run (om_data->loop);
|
g_main_loop_run (om_data->loop);
|
||||||
@@ -1960,8 +1960,8 @@ check_object_manager (void)
|
|||||||
g_dbus_node_info_unref (info);
|
g_dbus_node_info_unref (info);
|
||||||
|
|
||||||
/* and add an interface again */
|
/* and add an interface again */
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_com_acme_coyote_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_com_acme_coyote_skeleton_new ());
|
||||||
foo_object_skeleton_set_com_acme_coyote (o, FOO_COM_ACME_COYOTE (i));
|
foo_igen_object_skeleton_set_com_acme_coyote (o, FOO_IGEN_COM_ACME_COYOTE (i));
|
||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
/* ... check we get the InterfacesAdded */
|
/* ... check we get the InterfacesAdded */
|
||||||
om_data->state = 17;
|
om_data->state = 17;
|
||||||
@@ -1984,13 +1984,13 @@ check_object_manager (void)
|
|||||||
/* -------------------------------------------------- */
|
/* -------------------------------------------------- */
|
||||||
|
|
||||||
/* create a new object with two interfaces */
|
/* create a new object with two interfaces */
|
||||||
o2 = foo_object_skeleton_new ("/managed/second");
|
o2 = foo_igen_object_skeleton_new ("/managed/second");
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_bar_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_bar_skeleton_new ());
|
||||||
bar_skeleton = FOO_BAR (i); /* save for later test */
|
bar_skeleton = FOO_IGEN_BAR (i); /* save for later test */
|
||||||
foo_object_skeleton_set_bar (o2, FOO_BAR (i));
|
foo_igen_object_skeleton_set_bar (o2, FOO_IGEN_BAR (i));
|
||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
i = G_DBUS_INTERFACE_SKELETON (foo_bat_skeleton_new ());
|
i = G_DBUS_INTERFACE_SKELETON (foo_igen_bat_skeleton_new ());
|
||||||
foo_object_skeleton_set_bat (o2, FOO_BAT (i));
|
foo_igen_object_skeleton_set_bat (o2, FOO_IGEN_BAT (i));
|
||||||
g_object_unref (i);
|
g_object_unref (i);
|
||||||
/* ... add it */
|
/* ... add it */
|
||||||
g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (o2));
|
g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (o2));
|
||||||
@@ -2032,16 +2032,16 @@ check_object_manager (void)
|
|||||||
g_list_free (object_proxies);
|
g_list_free (object_proxies);
|
||||||
op = g_dbus_object_manager_get_object (pm, "/managed/first");
|
op = g_dbus_object_manager_get_object (pm, "/managed/first");
|
||||||
g_assert (op != NULL);
|
g_assert (op != NULL);
|
||||||
g_assert (FOO_IS_OBJECT_PROXY (op));
|
g_assert (FOO_IGEN_IS_OBJECT_PROXY (op));
|
||||||
g_assert_cmpstr (g_dbus_object_get_object_path (op), ==, "/managed/first");
|
g_assert_cmpstr (g_dbus_object_get_object_path (op), ==, "/managed/first");
|
||||||
proxies = g_dbus_object_get_interfaces (op);
|
proxies = g_dbus_object_get_interfaces (op);
|
||||||
g_assert (g_list_length (proxies) == 1);
|
g_assert (g_list_length (proxies) == 1);
|
||||||
g_list_foreach (proxies, (GFunc) g_object_unref, NULL);
|
g_list_foreach (proxies, (GFunc) g_object_unref, NULL);
|
||||||
g_list_free (proxies);
|
g_list_free (proxies);
|
||||||
p = G_DBUS_PROXY (foo_object_get_com_acme_coyote (FOO_OBJECT (op)));
|
p = G_DBUS_PROXY (foo_igen_object_get_com_acme_coyote (FOO_IGEN_OBJECT (op)));
|
||||||
g_assert (p != NULL);
|
g_assert (p != NULL);
|
||||||
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_TYPE_COM_ACME_COYOTE_PROXY);
|
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY);
|
||||||
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_TYPE_COM_ACME_COYOTE));
|
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_IGEN_TYPE_COM_ACME_COYOTE));
|
||||||
g_object_unref (p);
|
g_object_unref (p);
|
||||||
p = (GDBusProxy *) g_dbus_object_get_interface (op, "org.project.NonExisting");
|
p = (GDBusProxy *) g_dbus_object_get_interface (op, "org.project.NonExisting");
|
||||||
g_assert (p == NULL);
|
g_assert (p == NULL);
|
||||||
@@ -2049,25 +2049,25 @@ check_object_manager (void)
|
|||||||
/* -- */
|
/* -- */
|
||||||
op = g_dbus_object_manager_get_object (pm, "/managed/second");
|
op = g_dbus_object_manager_get_object (pm, "/managed/second");
|
||||||
g_assert (op != NULL);
|
g_assert (op != NULL);
|
||||||
g_assert (FOO_IS_OBJECT_PROXY (op));
|
g_assert (FOO_IGEN_IS_OBJECT_PROXY (op));
|
||||||
g_assert_cmpstr (g_dbus_object_get_object_path (op), ==, "/managed/second");
|
g_assert_cmpstr (g_dbus_object_get_object_path (op), ==, "/managed/second");
|
||||||
proxies = g_dbus_object_get_interfaces (op);
|
proxies = g_dbus_object_get_interfaces (op);
|
||||||
g_assert (g_list_length (proxies) == 2);
|
g_assert (g_list_length (proxies) == 2);
|
||||||
g_list_foreach (proxies, (GFunc) g_object_unref, NULL);
|
g_list_foreach (proxies, (GFunc) g_object_unref, NULL);
|
||||||
g_list_free (proxies);
|
g_list_free (proxies);
|
||||||
p = G_DBUS_PROXY (foo_object_get_bat (FOO_OBJECT (op)));
|
p = G_DBUS_PROXY (foo_igen_object_get_bat (FOO_IGEN_OBJECT (op)));
|
||||||
g_assert (p != NULL);
|
g_assert (p != NULL);
|
||||||
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_TYPE_BAT_PROXY);
|
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_IGEN_TYPE_BAT_PROXY);
|
||||||
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_TYPE_BAT));
|
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_IGEN_TYPE_BAT));
|
||||||
g_object_unref (p);
|
g_object_unref (p);
|
||||||
p = G_DBUS_PROXY (foo_object_get_bar (FOO_OBJECT (op)));
|
p = G_DBUS_PROXY (foo_igen_object_get_bar (FOO_IGEN_OBJECT (op)));
|
||||||
g_assert (p != NULL);
|
g_assert (p != NULL);
|
||||||
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_TYPE_BAR_PROXY);
|
g_assert_cmpint (G_TYPE_FROM_INSTANCE (p), ==, FOO_IGEN_TYPE_BAR_PROXY);
|
||||||
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_TYPE_BAR));
|
g_assert (g_type_is_a (G_TYPE_FROM_INSTANCE (p), FOO_IGEN_TYPE_BAR));
|
||||||
/* ... now that we have a Bar instance around, also check that we get signals
|
/* ... now that we have a Bar instance around, also check that we get signals
|
||||||
* and property changes...
|
* and property changes...
|
||||||
*/
|
*/
|
||||||
om_check_property_and_signal_emission (loop, bar_skeleton, FOO_BAR (p));
|
om_check_property_and_signal_emission (loop, bar_skeleton, FOO_IGEN_BAR (p));
|
||||||
g_object_unref (p);
|
g_object_unref (p);
|
||||||
p = (GDBusProxy *) g_dbus_object_get_interface (op, "org.project.NonExisting");
|
p = (GDBusProxy *) g_dbus_object_get_interface (op, "org.project.NonExisting");
|
||||||
g_assert (p == NULL);
|
g_assert (p == NULL);
|
||||||
@@ -2155,19 +2155,19 @@ extern gpointer name_forcing_4;
|
|||||||
extern gpointer name_forcing_5;
|
extern gpointer name_forcing_5;
|
||||||
extern gpointer name_forcing_6;
|
extern gpointer name_forcing_6;
|
||||||
extern gpointer name_forcing_7;
|
extern gpointer name_forcing_7;
|
||||||
gpointer name_forcing_1 = foo_rocket123_get_type;
|
gpointer name_forcing_1 = foo_igen_rocket123_get_type;
|
||||||
gpointer name_forcing_2 = foo_rocket123_call_ignite_xyz;
|
gpointer name_forcing_2 = foo_igen_rocket123_call_ignite_xyz;
|
||||||
gpointer name_forcing_3 = foo_rocket123_emit_exploded_xyz;
|
gpointer name_forcing_3 = foo_igen_rocket123_emit_exploded_xyz;
|
||||||
gpointer name_forcing_4 = foo_rocket123_get_speed_xyz;
|
gpointer name_forcing_4 = foo_igen_rocket123_get_speed_xyz;
|
||||||
gpointer name_forcing_5 = foo_test_ugly_case_interface_call_get_iscsi_servers;
|
gpointer name_forcing_5 = foo_igen_test_ugly_case_interface_call_get_iscsi_servers;
|
||||||
gpointer name_forcing_6 = foo_test_ugly_case_interface_emit_servers_updated_now;
|
gpointer name_forcing_6 = foo_igen_test_ugly_case_interface_emit_servers_updated_now;
|
||||||
gpointer name_forcing_7 = foo_test_ugly_case_interface_get_ugly_name;
|
gpointer name_forcing_7 = foo_igen_test_ugly_case_interface_get_ugly_name;
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* See https://bugzilla.gnome.org/show_bug.cgi?id=647577#c5 for details */
|
/* See https://bugzilla.gnome.org/show_bug.cgi?id=647577#c5 for details */
|
||||||
|
|
||||||
#define CHECK_FIELD(name, v1, v2) g_assert_cmpint (G_STRUCT_OFFSET (FooChangingInterface##v1##Iface, name), ==, G_STRUCT_OFFSET (FooChangingInterface##v2##Iface, name));
|
#define CHECK_FIELD(name, v1, v2) g_assert_cmpint (G_STRUCT_OFFSET (FooiGenChangingInterface##v1##Iface, name), ==, G_STRUCT_OFFSET (FooiGenChangingInterface##v2##Iface, name));
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_interface_stability (void)
|
test_interface_stability (void)
|
||||||
|
Reference in New Issue
Block a user