Пример #1
0
static gboolean
on_handle_remove_alpha (TestFrobber *frobber,
                        GDBusMethodInvocation *invocation,
                        gpointer user_data)
{
  TestObjectSkeleton *enclosing;
  enclosing = TEST_OBJECT_SKELETON (g_dbus_interface_get_object (G_DBUS_INTERFACE (frobber)));
  if (test_object_peek_alpha (TEST_OBJECT (enclosing)) != NULL)
    test_object_skeleton_set_alpha (enclosing, NULL);
  test_frobber_complete_add_alpha (frobber, invocation);
  return TRUE;
}
Пример #2
0
static void test_object_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
{
    TestObject *self = TEST_OBJECT (object);
    switch (property_id) {
        case PROP_LEN:
            g_value_set_int (value, self->len);
            break;
        case PROP_STR:
            g_value_set_string (value, self->str);
            break;
        case PROP_EQU:
            g_value_set_boolean (value, self->equal);
            break;
        default:
            G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}
Пример #3
0
static void test_object_get_property (GObject      *object,
				      guint         property_id,
				      GValue       *value,
				      GParamSpec   *pspec)
{
  TestObject *self = TEST_OBJECT (object);
  switch (property_id)
    {
      case PROPERTY_VALUE:
	g_value_set_int (value, self->value);
	break;
      case PROPERTY_CHILD:
	g_value_set_object (value, self->child);
	break;
      default:
	g_return_if_reached ();
    }
}
Пример #4
0
int main (int argc, char *argv[])
{
  GskXmlProcessor *xml_processor;
  GskXmlConfig *config;
  GValue value = { 0 };
  int i;

  gsk_init_without_threads (&argc, &argv);

  config = gsk_xml_config_new (NULL);
  g_return_val_if_fail (config, -1);
  gsk_xml_config_add_type_test (config, return_true, NULL, NULL);
  gsk_xml_config_set_loader (config, gsk_xml_loader_introspective, NULL, NULL);
  xml_processor =
    gsk_xml_processor_new (config, G_TYPE_OBJECT, handle_value, &value, NULL);
  g_return_val_if_fail (xml_processor, -1);

  for (i = 0; i < G_N_ELEMENTS (tests); ++i)
    {
      TestObject *object;
      char *xml;

      if (!gsk_xml_processor_input (xml_processor, tests[i], strlen (tests[i])))
	g_error ("error parsing XML '%s'", tests[i]);
      g_return_val_if_fail (G_VALUE_TYPE (&value) == G_TYPE_OBJECT, -1);
      g_return_val_if_fail (TEST_IS_OBJECT (g_value_get_object (&value)), -1);
      object = TEST_OBJECT (g_value_get_object (&value));
      xml = test_object_get_xml (object);
      g_return_val_if_fail (strcmp (xml, tests[i]) == 0, -1);
      g_free (xml);
      g_value_unset (&value);
    }

  gsk_xml_processor_destroy (xml_processor);
  gsk_xml_config_unref (config);
  return 0;
}
Пример #5
0
static void test_object_finalize (GObject *object)
{
    TestObject *self = TEST_OBJECT (object);
    g_free(self->str);
    G_OBJECT_CLASS (test_object_parent_class)->finalize(object);
}