1Net::DBus::Test::MockItUesreartoCro(n3t)ributed Perl DocNuemte:n:tDaBtuiso:n:Test::MockIterator(3)
2
3
4

NAME

6       Net::DBus::Test::MockIterator - Iterator over a mock message
7

SYNOPSIS

9       Creating a new message
10
11         my $msg = new Net::DBus::Test::MockMessage
12         my $iterator = $msg->iterator;
13
14         $iterator->append_boolean(1);
15         $iterator->append_byte(123);
16
17       Reading from a mesage
18
19         my $msg = ...get it from somewhere...
20         my $iter = $msg->iterator();
21
22         my $i = 0;
23         while ($iter->has_next()) {
24           $iter->next();
25           $i++;
26           if ($i == 1) {
27              my $val = $iter->get_boolean();
28           } elsif ($i == 2) {
29              my $val = $iter->get_byte();
30           }
31         }
32

DESCRIPTION

34       This module provides a "mock" counterpart to the
35       Net::DBus::Binding::Iterator object which is capable of iterating over
36       mock message objects. Instances of this module are not created
37       directly, instead they are obtained via the "iterator" method on the
38       Net::DBus::Test::MockMessage module.
39

METHODS

41       $res = $iter->has_next()
42           Determines if there are any more fields in the message itertor to
43           be read. Returns a positive value if there are more fields, zero
44           otherwise.
45
46       $success = $iter->next()
47           Skips the iterator onto the next field in the message.  Returns a
48           positive value if the current field pointer was successfully
49           advanced, zero otherwise.
50
51       my $val = $iter->get_boolean()
52       $iter->append_boolean($val);
53           Read or write a boolean value from/to the message iterator
54
55       my $val = $iter->get_byte()
56       $iter->append_byte($val);
57           Read or write a single byte value from/to the message iterator.
58
59       my $val = $iter->get_string()
60       $iter->append_string($val);
61           Read or write a UTF-8 string value from/to the message iterator
62
63       my $val = $iter->get_object_path()
64       $iter->append_object_path($val);
65           Read or write a UTF-8 string value, whose contents is a valid
66           object path, from/to the message iterator
67
68       my $val = $iter->get_signature()
69       $iter->append_signature($val);
70           Read or write a UTF-8 string, whose contents is a valid type
71           signature, value from/to the message iterator
72
73       my $val = $iter->get_int16()
74       $iter->append_int16($val);
75           Read or write a signed 16 bit value from/to the message iterator
76
77       my $val = $iter->get_uint16()
78       $iter->append_uint16($val);
79           Read or write an unsigned 16 bit value from/to the message iterator
80
81       my $val = $iter->get_int32()
82       $iter->append_int32($val);
83           Read or write a signed 32 bit value from/to the message iterator
84
85       my $val = $iter->get_uint32()
86       $iter->append_uint32($val);
87           Read or write an unsigned 32 bit value from/to the message iterator
88
89       my $val = $iter->get_int64()
90       $iter->append_int64($val);
91           Read or write a signed 64 bit value from/to the message iterator.
92           An error will be raised if this build of Perl does not support 64
93           bit integers
94
95       my $val = $iter->get_uint64()
96       $iter->append_uint64($val);
97           Read or write an unsigned 64 bit value from/to the message
98           iterator. An error will be raised if this build of Perl does not
99           support 64 bit integers
100
101       my $val = $iter->get_double()
102       $iter->append_double($val);
103           Read or write a double precision floating point value from/to the
104           message iterator
105
106       my $value = $iter->get()
107       my $value = $iter->get($type);
108           Get the current value pointed to by this iterator. If the optional
109           $type parameter is supplied, the wire type will be compared with
110           the desired type & a warning output if their differ. The $type
111           value must be one of the "Net::DBus::Binding::Message::TYPE*"
112           constants.
113
114       my $hashref = $iter->get_dict()
115           If the iterator currently points to a dictionary value, unmarshalls
116           and returns the value as a hash reference.
117
118       my $hashref = $iter->get_array()
119           If the iterator currently points to an array value, unmarshalls and
120           returns the value as a array reference.
121
122       my $hashref = $iter->get_variant()
123           If the iterator currently points to a variant value, unmarshalls
124           and returns the value contained in the variant.
125
126       my $hashref = $iter->get_struct()
127           If the iterator currently points to an struct value, unmarshalls
128           and returns the value as a array reference. The values in the array
129           correspond to members of the struct.
130
131       $iter->append($value)
132       $iter->append($value, $type)
133           Appends a value to the message associated with this iterator. The
134           value is marshalled into wire format, according to the following
135           rules.
136
137           If the $value is an instance of Net::DBus::Binding::Value, the
138           embedded data type is used.
139
140           If the $type parameter is supplied, that is taken to represent the
141           data type. The type must be one of the
142           "Net::DBus::Binding::Message::TYPE_*" constants.
143
144           Otherwise, the data type is chosen to be a string, dict or array
145           according to the perl data types SCALAR, HASH or ARRAY.
146
147       my $type = $iter->guess_type($value)
148           Make a best guess at the on the wire data type to use for
149           marshalling $value. If the value is a hash reference, the
150           dictionary type is returned; if the value is an array reference the
151           array type is returned; otherwise the string type is returned.
152
153       my $sig = $iter->format_signature($type)
154           Given a data type representation, construct a corresponding
155           signature string
156
157       $iter->append_array($value, $type)
158           Append an array of values to the message. The $value parameter must
159           be an array reference, whose elements all have the same data type
160           specified by the $type parameter.
161
162       $iter->append_struct($value, $type)
163           Append a struct to the message. The $value parameter must be an
164           array reference, whose elements correspond to members of the
165           structure. The $type parameter encodes the type of each member of
166           the struct.
167
168       $iter->append_dict($value, $type)
169           Append a dictionary to the message. The $value parameter must be an
170           hash reference.The $type parameter encodes the type of the key and
171           value of the hash.
172
173       $iter->append_variant($value)
174           Append a value to the message, encoded as a variant type. The
175           $value can be of any type, however, the variant will be encoded as
176           either a string, dictionary or array according to the rules of the
177           "guess_type" method.
178
179       my $type = $iter->get_arg_type
180           Retrieves the type code of the value pointing to by this iterator.
181           The returned code will correspond to one of the constants
182           "Net::DBus::Binding::Message::TYPE_*"
183
184       my $type = $iter->get_element_type
185           If the iterator points to an array, retrieves the type code of
186           array elements. The returned code will correspond to one of the
187           constants "Net::DBus::Binding::Message::TYPE_*"
188

BUGS

190       It doesn't completely replicate the API of
191       Net::DBus::Binding::Iterator, merely enough to make the high level
192       bindings work in a test scenario.
193

SEE ALSO

195       Net::DBus::Test::MockMessage, Net::DBus::Binding::Iterator,
196       <http://www.mockobjects.com/Faq.html>
197
199       Copyright 2006 Daniel Berrange <dan@berrange.com>
200
201
202
203perl v5.12.0                      2008-02-21  Net::DBus::Test::MockIterator(3)
Impressum