~jamesodhunt/ubuntu/raring/upstart/1.6

« back to all changes in this revision

Viewing changes to nih-dbus-tool/tests/expected/test_property_object_get_function_structure.c

  • Committer: Scott James Remnant
  • Date: 2010-02-04 23:39:59 UTC
  • mfrom: (1182.1.45 upstart)
  • mto: This revision was merged to the branch mainline in revision 1250.
  • Revision ID: scott@netsplit.com-20100204233959-7kajqjnaoh7208ob
Tags: upstream-0.6.5
ImportĀ upstreamĀ versionĀ 0.6.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
int
2
 
my_com_netsplit_Nih_Test_property_get (NihDBusObject *  object,
3
 
                                       NihDBusMessage * message,
4
 
                                       DBusMessageIter *iter)
5
 
{
6
 
        DBusMessageIter variter;
7
 
        DBusMessageIter value_iter;
8
 
        const char *    value_item0;
9
 
        uint32_t        value_item1;
10
 
        MyProperty *    value;
11
 
 
12
 
        nih_assert (object != NULL);
13
 
        nih_assert (message != NULL);
14
 
        nih_assert (iter != NULL);
15
 
 
16
 
        /* Call the handler function */
17
 
        if (my_get_property (object->data, message, &value) < 0)
18
 
                return -1;
19
 
 
20
 
        /* Append a variant onto the message to contain the property value. */
21
 
        if (! dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT, "(su)", &variter)) {
22
 
                nih_error_raise_no_memory ();
23
 
                return -1;
24
 
        }
25
 
 
26
 
        /* Marshal a structure onto the message */
27
 
        if (! dbus_message_iter_open_container (&variter, DBUS_TYPE_STRUCT, NULL, &value_iter)) {
28
 
                dbus_message_iter_abandon_container (iter, &variter);
29
 
                nih_error_raise_no_memory ();
30
 
                return -1;
31
 
        }
32
 
 
33
 
        value_item0 = value->item0;
34
 
 
35
 
        /* Marshal a char * onto the message */
36
 
        if (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_item0)) {
37
 
                dbus_message_iter_abandon_container (&variter, &value_iter);
38
 
                dbus_message_iter_abandon_container (iter, &variter);
39
 
                nih_error_raise_no_memory ();
40
 
                return -1;
41
 
        }
42
 
 
43
 
        value_item1 = value->item1;
44
 
 
45
 
        /* Marshal a uint32_t onto the message */
46
 
        if (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_UINT32, &value_item1)) {
47
 
                dbus_message_iter_abandon_container (&variter, &value_iter);
48
 
                dbus_message_iter_abandon_container (iter, &variter);
49
 
                nih_error_raise_no_memory ();
50
 
                return -1;
51
 
        }
52
 
 
53
 
        if (! dbus_message_iter_close_container (&variter, &value_iter)) {
54
 
                dbus_message_iter_abandon_container (iter, &variter);
55
 
                nih_error_raise_no_memory ();
56
 
                return -1;
57
 
        }
58
 
 
59
 
        /* Finish the variant */
60
 
        if (! dbus_message_iter_close_container (iter, &variter)) {
61
 
                nih_error_raise_no_memory ();
62
 
                return -1;
63
 
        }
64
 
 
65
 
        return 0;
66
 
}