czmq-ffi-gen 0.14.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,161 @@
1
+ ################################################################################
2
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
3
+ # Read the zproject/README.md for information about making permanent changes. #
4
+ ################################################################################
5
+
6
+ module CZMQ
7
+ module FFI
8
+
9
+ # zhttp server.
10
+ # @note This class is 100% generated using zproject.
11
+ class ZhttpServerOptions
12
+ # Raised when one tries to use an instance of {ZhttpServerOptions} after
13
+ # the internal pointer to the native object has been nullified.
14
+ class DestroyedError < RuntimeError; end
15
+
16
+ # Boilerplate for self pointer, initializer, and finalizer
17
+ class << self
18
+ alias :__new :new
19
+ end
20
+ # Attaches the pointer _ptr_ to this instance and defines a finalizer for
21
+ # it if necessary.
22
+ # @param ptr [::FFI::Pointer]
23
+ # @param finalize [Boolean]
24
+ def initialize(ptr, finalize = true)
25
+ @ptr = ptr
26
+ if @ptr.null?
27
+ @ptr = nil # Remove null pointers so we don't have to test for them.
28
+ elsif finalize
29
+ @finalizer = self.class.create_finalizer_for @ptr
30
+ ObjectSpace.define_finalizer self, @finalizer
31
+ end
32
+ end
33
+ # @param ptr [::FFI::Pointer]
34
+ # @return [Proc]
35
+ def self.create_finalizer_for(ptr)
36
+ Proc.new do
37
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
38
+ ptr_ptr.write_pointer ptr
39
+ ::CZMQ::FFI.zhttp_server_options_destroy ptr_ptr
40
+ end
41
+ end
42
+ # @return [Boolean]
43
+ def null?
44
+ !@ptr or @ptr.null?
45
+ end
46
+ # Return internal pointer
47
+ # @return [::FFI::Pointer]
48
+ def __ptr
49
+ raise DestroyedError unless @ptr
50
+ @ptr
51
+ end
52
+ # So external Libraries can just pass the Object to a FFI function which expects a :pointer
53
+ alias_method :to_ptr, :__ptr
54
+ # Nullify internal pointer and return pointer pointer.
55
+ # @note This detaches the current instance from the native object
56
+ # and thus makes it unusable.
57
+ # @return [::FFI::MemoryPointer] the pointer pointing to a pointer
58
+ # pointing to the native object
59
+ def __ptr_give_ref
60
+ raise DestroyedError unless @ptr
61
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
62
+ ptr_ptr.write_pointer @ptr
63
+ __undef_finalizer if @finalizer
64
+ @ptr = nil
65
+ ptr_ptr
66
+ end
67
+ # Undefines the finalizer for this object.
68
+ # @note Only use this if you need to and can guarantee that the native
69
+ # object will be freed by other means.
70
+ # @return [void]
71
+ def __undef_finalizer
72
+ ObjectSpace.undefine_finalizer self
73
+ @finalizer = nil
74
+ end
75
+
76
+ # Create a new zhttp_server_options.
77
+ # @return [CZMQ::ZhttpServerOptions]
78
+ def self.new()
79
+ ptr = ::CZMQ::FFI.zhttp_server_options_new()
80
+ __new ptr
81
+ end
82
+
83
+ # Create options from config tree.
84
+ # @param config [Zconfig, #__ptr]
85
+ # @return [CZMQ::ZhttpServerOptions]
86
+ def self.from_config(config)
87
+ config = config.__ptr if config
88
+ ptr = ::CZMQ::FFI.zhttp_server_options_from_config(config)
89
+ __new ptr
90
+ end
91
+
92
+ # Destroy the zhttp_server_options.
93
+ #
94
+ # @return [void]
95
+ def destroy()
96
+ return unless @ptr
97
+ self_p = __ptr_give_ref
98
+ result = ::CZMQ::FFI.zhttp_server_options_destroy(self_p)
99
+ result
100
+ end
101
+
102
+ # Get the server listening port.
103
+ #
104
+ # @return [Integer]
105
+ def port()
106
+ raise DestroyedError unless @ptr
107
+ self_p = @ptr
108
+ result = ::CZMQ::FFI.zhttp_server_options_port(self_p)
109
+ result
110
+ end
111
+
112
+ # Set the server listening port
113
+ #
114
+ # @param port [Integer, #to_int, #to_i]
115
+ # @return [void]
116
+ def set_port(port)
117
+ raise DestroyedError unless @ptr
118
+ self_p = @ptr
119
+ port = Integer(port)
120
+ result = ::CZMQ::FFI.zhttp_server_options_set_port(self_p, port)
121
+ result
122
+ end
123
+
124
+ # Get the address sockets should connect to in order to receive requests.
125
+ #
126
+ # @return [String]
127
+ def backend_address()
128
+ raise DestroyedError unless @ptr
129
+ self_p = @ptr
130
+ result = ::CZMQ::FFI.zhttp_server_options_backend_address(self_p)
131
+ result
132
+ end
133
+
134
+ # Set the address sockets should connect to in order to receive requests.
135
+ #
136
+ # @param address [String, #to_s, nil]
137
+ # @return [void]
138
+ def set_backend_address(address)
139
+ raise DestroyedError unless @ptr
140
+ self_p = @ptr
141
+ result = ::CZMQ::FFI.zhttp_server_options_set_backend_address(self_p, address)
142
+ result
143
+ end
144
+
145
+ # Self test of this class.
146
+ #
147
+ # @param verbose [Boolean]
148
+ # @return [void]
149
+ def self.test(verbose)
150
+ verbose = !(0==verbose||!verbose) # boolean
151
+ result = ::CZMQ::FFI.zhttp_server_options_test(verbose)
152
+ result
153
+ end
154
+ end
155
+ end
156
+ end
157
+
158
+ ################################################################################
159
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
160
+ # Read the zproject/README.md for information about making permanent changes. #
161
+ ################################################################################
@@ -129,6 +129,17 @@ module CZMQ
129
129
  __new ptr
130
130
  end
131
131
 
132
+ # Unpack binary frame into a new list. Packed data must follow format
133
+ # defined by zlistx_pack. List is set to autofree. An empty frame
134
+ # unpacks to an empty list.
135
+ # @param frame [Zframe, #__ptr]
136
+ # @return [CZMQ::Zlistx]
137
+ def self.unpack(frame)
138
+ frame = frame.__ptr if frame
139
+ ptr = ::CZMQ::FFI.zlistx_unpack(frame)
140
+ __new ptr
141
+ end
142
+
132
143
  # Destroy a list. If an item destructor was specified, all items in the
133
144
  # list are automatically destroyed as well.
134
145
  #
@@ -315,7 +326,7 @@ module CZMQ
315
326
  result
316
327
  end
317
328
 
318
- # Delete an item, using its handle. Calls the item destructor is any is
329
+ # Delete an item, using its handle. Calls the item destructor if any is
319
330
  # set. If handle is null, deletes the first item on the list. Returns 0
320
331
  # if an item was deleted, -1 if not. If cursor was at item, moves cursor
321
332
  # to previous item, so you can delete items while iterating forwards
@@ -459,6 +470,28 @@ module CZMQ
459
470
  result
460
471
  end
461
472
 
473
+ # Serialize list to a binary frame that can be sent in a message.
474
+ # The packed format is compatible with the 'strings' type implemented by zproto:
475
+ #
476
+ # ; A list of strings
477
+ # list = list-count *longstr
478
+ # list-count = number-4
479
+ #
480
+ # ; Strings are always length + text contents
481
+ # longstr = number-4 *VCHAR
482
+ #
483
+ # ; Numbers are unsigned integers in network byte order
484
+ # number-4 = 4OCTET
485
+ #
486
+ # @return [Zframe]
487
+ def pack()
488
+ raise DestroyedError unless @ptr
489
+ self_p = @ptr
490
+ result = ::CZMQ::FFI.zlistx_pack(self_p)
491
+ result = Zframe.__new result, true
492
+ result
493
+ end
494
+
462
495
  # Self test of this class.
463
496
  #
464
497
  # @param verbose [Boolean]
@@ -454,6 +454,7 @@ module CZMQ
454
454
 
455
455
  # Send message to zsys log sink (may be stdout, or system facility as
456
456
  # configured by zsys_set_logstream).
457
+ # Long messages are truncated.
457
458
  #
458
459
  # @return [void]
459
460
  def print()
@@ -463,6 +464,21 @@ module CZMQ
463
464
  result
464
465
  end
465
466
 
467
+ # Send message to zsys log sink (may be stdout, or system facility as
468
+ # configured by zsys_set_logstream).
469
+ # Message length is specified; no truncation unless length is zero.
470
+ # Backwards compatible with zframe_print when length is zero.
471
+ #
472
+ # @param size [Integer, #to_int, #to_i]
473
+ # @return [void]
474
+ def print_n(size)
475
+ raise DestroyedError unless @ptr
476
+ self_p = @ptr
477
+ size = Integer(size)
478
+ result = ::CZMQ::FFI.zmsg_print_n(self_p, size)
479
+ result
480
+ end
481
+
466
482
  # Return true if the two messages have the same number of frames and each
467
483
  # frame in the first message is identical to the corresponding frame in the
468
484
  # other message. As with zframe_eq, return false if either message is NULL.
@@ -0,0 +1,487 @@
1
+ ################################################################################
2
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
3
+ # Read the zproject/README.md for information about making permanent changes. #
4
+ ################################################################################
5
+
6
+ module CZMQ
7
+ module FFI
8
+
9
+ # Create and decode Open Sound Control messages. (OSC)
10
+ #
11
+ # OSC is a serialisation format (and usually transported over UDP) which is
12
+ # supported by many applications and appliances. It is a de facto protocol
13
+ # for networking sound synthesizers, computers, and other multimedia devices
14
+ # for purposes such as musical performance or show control. It is also often
15
+ # used for rapid prototyping purposes due to the support by many applications
16
+ # and frameworks in this field. With ZeroMQ's DGRAM sockets it is possible
17
+ # to use ZeroMQ to send and receive OSC messages which can be understood by
18
+ # any device supporting OSC.
19
+ #
20
+ # Example creating an OSC message:
21
+ #
22
+ # zosc_t* conm = zosc_create("/someaddress", "iihfdscF",
23
+ # 1, 2, 3, 3.14, 6.283185307179586, "greetings", 'q');
24
+ #
25
+ # Decoding a message:
26
+ #
27
+ # int rc = zosc_retr(oscmsg, "iihfdscF", &intx, &inty, &intz, &floatz,
28
+ # &doublez, &strings, &charq, &someBool);
29
+ #
30
+ # See the class's test method for more examples how to use the class.
31
+ # @note This class is 100% generated using zproject.
32
+ class Zosc
33
+ # Raised when one tries to use an instance of {Zosc} after
34
+ # the internal pointer to the native object has been nullified.
35
+ class DestroyedError < RuntimeError; end
36
+
37
+ # Boilerplate for self pointer, initializer, and finalizer
38
+ class << self
39
+ alias :__new :new
40
+ end
41
+ # Attaches the pointer _ptr_ to this instance and defines a finalizer for
42
+ # it if necessary.
43
+ # @param ptr [::FFI::Pointer]
44
+ # @param finalize [Boolean]
45
+ def initialize(ptr, finalize = true)
46
+ @ptr = ptr
47
+ if @ptr.null?
48
+ @ptr = nil # Remove null pointers so we don't have to test for them.
49
+ elsif finalize
50
+ @finalizer = self.class.create_finalizer_for @ptr
51
+ ObjectSpace.define_finalizer self, @finalizer
52
+ end
53
+ end
54
+ # @param ptr [::FFI::Pointer]
55
+ # @return [Proc]
56
+ def self.create_finalizer_for(ptr)
57
+ Proc.new do
58
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
59
+ ptr_ptr.write_pointer ptr
60
+ ::CZMQ::FFI.zosc_destroy ptr_ptr
61
+ end
62
+ end
63
+ # @return [Boolean]
64
+ def null?
65
+ !@ptr or @ptr.null?
66
+ end
67
+ # Return internal pointer
68
+ # @return [::FFI::Pointer]
69
+ def __ptr
70
+ raise DestroyedError unless @ptr
71
+ @ptr
72
+ end
73
+ # So external Libraries can just pass the Object to a FFI function which expects a :pointer
74
+ alias_method :to_ptr, :__ptr
75
+ # Nullify internal pointer and return pointer pointer.
76
+ # @note This detaches the current instance from the native object
77
+ # and thus makes it unusable.
78
+ # @return [::FFI::MemoryPointer] the pointer pointing to a pointer
79
+ # pointing to the native object
80
+ def __ptr_give_ref
81
+ raise DestroyedError unless @ptr
82
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
83
+ ptr_ptr.write_pointer @ptr
84
+ __undef_finalizer if @finalizer
85
+ @ptr = nil
86
+ ptr_ptr
87
+ end
88
+ # Undefines the finalizer for this object.
89
+ # @note Only use this if you need to and can guarantee that the native
90
+ # object will be freed by other means.
91
+ # @return [void]
92
+ def __undef_finalizer
93
+ ObjectSpace.undefine_finalizer self
94
+ @finalizer = nil
95
+ end
96
+
97
+ # Create a new empty OSC message with the specified address string.
98
+ # @param address [String, #to_s, nil]
99
+ # @return [CZMQ::Zosc]
100
+ def self.new(address)
101
+ ptr = ::CZMQ::FFI.zosc_new(address)
102
+ __new ptr
103
+ end
104
+
105
+ # Create a new OSC message from the specified zframe. Takes ownership of
106
+ # the zframe.
107
+ # @param frame [Zframe, #__ptr]
108
+ # @return [CZMQ::Zosc]
109
+ def self.fromframe(frame)
110
+ frame = frame.__ptr if frame
111
+ ptr = ::CZMQ::FFI.zosc_fromframe(frame)
112
+ __new ptr
113
+ end
114
+
115
+ # Create a new zosc message from memory. Take ownership of the memory
116
+ # and calling free on the data after construction.
117
+ # @param data [::FFI::Pointer, #to_ptr]
118
+ # @param size [Integer, #to_int, #to_i]
119
+ # @return [CZMQ::Zosc]
120
+ def self.frommem(data, size)
121
+ size = Integer(size)
122
+ ptr = ::CZMQ::FFI.zosc_frommem(data, size)
123
+ __new ptr
124
+ end
125
+
126
+ # Create a new zosc message from the given format and arguments.
127
+ # The format type tags are as follows:
128
+ # i - 32bit integer
129
+ # h - 64bit integer
130
+ # f - 32bit floating point number (IEEE)
131
+ # d - 64bit (double) floating point number
132
+ # s - string (NULL terminated)
133
+ # t = timetag: an OSC timetag in NTP format (uint64_t)
134
+ # S - symbol
135
+ # c - char
136
+ # m - 4 byte midi packet (8 digits hexadecimal)
137
+ # T - TRUE (no value required)
138
+ # F - FALSE (no value required)
139
+ # N - NIL (no value required)
140
+ # I - Impulse (for triggers) or INFINITUM (no value required)
141
+ # b - binary blob
142
+ # @param address [String, #to_s, nil]
143
+ # @param format [String, #to_s, nil]
144
+ # @param args [Array<Object>]
145
+ # @return [CZMQ::Zosc]
146
+ def self.create(address, format, *args)
147
+ ptr = ::CZMQ::FFI.zosc_create(address, format, *args)
148
+ __new ptr
149
+ end
150
+
151
+ # Destroy an OSC message
152
+ #
153
+ # @return [void]
154
+ def destroy()
155
+ return unless @ptr
156
+ self_p = __ptr_give_ref
157
+ result = ::CZMQ::FFI.zosc_destroy(self_p)
158
+ result
159
+ end
160
+
161
+ # Return chunk data size
162
+ #
163
+ # @return [Integer]
164
+ def size()
165
+ raise DestroyedError unless @ptr
166
+ self_p = @ptr
167
+ result = ::CZMQ::FFI.zosc_size(self_p)
168
+ result
169
+ end
170
+
171
+ # Return OSC chunk data. Caller does not own the data!
172
+ #
173
+ # @return [::FFI::Pointer]
174
+ def data()
175
+ raise DestroyedError unless @ptr
176
+ self_p = @ptr
177
+ result = ::CZMQ::FFI.zosc_data(self_p)
178
+ result
179
+ end
180
+
181
+ # Return the OSC address string
182
+ #
183
+ # @return [String]
184
+ def address()
185
+ raise DestroyedError unless @ptr
186
+ self_p = @ptr
187
+ result = ::CZMQ::FFI.zosc_address(self_p)
188
+ result
189
+ end
190
+
191
+ # Return the OSC format of the message.
192
+ # i - 32bit integer
193
+ # h - 64bit integer
194
+ # f - 32bit floating point number (IEEE)
195
+ # d - 64bit (double) floating point number
196
+ # s - string (NULL terminated)
197
+ # t = timetag: an OSC timetag in NTP format (uint64_t)
198
+ # S - symbol
199
+ # c - char
200
+ # m - 4 byte midi packet (8 digits hexadecimal)
201
+ # T - TRUE (no value required)
202
+ # F - FALSE (no value required)
203
+ # N - NIL (no value required)
204
+ # I - Impulse (for triggers) or INFINITUM (no value required)
205
+ # b - binary blob
206
+ #
207
+ # @return [String]
208
+ def format()
209
+ raise DestroyedError unless @ptr
210
+ self_p = @ptr
211
+ result = ::CZMQ::FFI.zosc_format(self_p)
212
+ result
213
+ end
214
+
215
+ # Append data to the osc message. The format describes the data that
216
+ # needs to be appended in the message. This essentially relocates all
217
+ # data!
218
+ # The format type tags are as follows:
219
+ # i - 32bit integer
220
+ # h - 64bit integer
221
+ # f - 32bit floating point number (IEEE)
222
+ # d - 64bit (double) floating point number
223
+ # s - string (NULL terminated)
224
+ # t = timetag: an OSC timetag in NTP format (uint64_t)
225
+ # S - symbol
226
+ # c - char
227
+ # m - 4 byte midi packet (8 digits hexadecimal)
228
+ # T - TRUE (no value required)
229
+ # F - FALSE (no value required)
230
+ # N - NIL (no value required)
231
+ # I - Impulse (for triggers) or INFINITUM (no value required)
232
+ # b - binary blob
233
+ #
234
+ # @param format [String, #to_s, nil]
235
+ # @param args [Array<Object>] see https://github.com/ffi/ffi/wiki/examples#using-varargs
236
+ # @return [Integer]
237
+ def append(format, *args)
238
+ raise DestroyedError unless @ptr
239
+ self_p = @ptr
240
+ result = ::CZMQ::FFI.zosc_append(self_p, format, *args)
241
+ result
242
+ end
243
+
244
+ # Retrieve the values provided by the given format. Note that zosc_retr
245
+ # creates the objects and the caller must destroy them when finished.
246
+ # The supplied pointers do not need to be initialized. Returns 0 if
247
+ # successful, or -1 if it failed to retrieve a value in which case the
248
+ # pointers are not modified. If an argument pointer is NULL is skips the
249
+ # value. See the format method for a detailed list op type tags for the
250
+ # format string.
251
+ #
252
+ # @param format [String, #to_s, nil]
253
+ # @param args [Array<Object>] see https://github.com/ffi/ffi/wiki/examples#using-varargs
254
+ # @return [Integer]
255
+ def retr(format, *args)
256
+ raise DestroyedError unless @ptr
257
+ self_p = @ptr
258
+ result = ::CZMQ::FFI.zosc_retr(self_p, format, *args)
259
+ result
260
+ end
261
+
262
+ # Create copy of the message, as new chunk object. Returns a fresh zosc_t
263
+ # object, or null if there was not enough heap memory. If chunk is null,
264
+ # returns null.
265
+ #
266
+ # @return [Zosc]
267
+ def dup()
268
+ raise DestroyedError unless @ptr
269
+ self_p = @ptr
270
+ result = ::CZMQ::FFI.zosc_dup(self_p)
271
+ result = Zosc.__new result, true
272
+ result
273
+ end
274
+
275
+ # Transform zosc into a zframe that can be sent in a message.
276
+ #
277
+ # @return [Zframe]
278
+ def pack()
279
+ raise DestroyedError unless @ptr
280
+ self_p = @ptr
281
+ result = ::CZMQ::FFI.zosc_pack(self_p)
282
+ result = Zframe.__new result, true
283
+ result
284
+ end
285
+
286
+ # Transform zosc into a zframe that can be sent in a message.
287
+ # Take ownership of the chunk.
288
+ #
289
+ # @param self_p [#__ptr_give_ref]
290
+ # @return [Zframe]
291
+ def self.packx(self_p)
292
+ self_p = self_p.__ptr_give_ref
293
+ result = ::CZMQ::FFI.zosc_packx(self_p)
294
+ result = Zframe.__new result, true
295
+ result
296
+ end
297
+
298
+ # Transform a zframe into a zosc.
299
+ #
300
+ # @param frame [Zframe, #__ptr]
301
+ # @return [Zosc]
302
+ def self.unpack(frame)
303
+ frame = frame.__ptr if frame
304
+ result = ::CZMQ::FFI.zosc_unpack(frame)
305
+ result = Zosc.__new result, true
306
+ result
307
+ end
308
+
309
+ # Dump OSC message to stdout, for debugging and tracing.
310
+ #
311
+ # @return [void]
312
+ def print()
313
+ raise DestroyedError unless @ptr
314
+ self_p = @ptr
315
+ result = ::CZMQ::FFI.zosc_print(self_p)
316
+ result
317
+ end
318
+
319
+ # Probe the supplied object, and report if it looks like a zosc_t.
320
+ #
321
+ # @param self_ [::FFI::Pointer, #to_ptr]
322
+ # @return [Boolean]
323
+ def self.is(self_)
324
+ result = ::CZMQ::FFI.zosc_is(self_)
325
+ result
326
+ end
327
+
328
+ # Return a pointer to the item at the head of the OSC data.
329
+ # Sets the given char argument to the type tag of the data.
330
+ # If the message is empty, returns NULL and the sets the
331
+ # given char to NULL.
332
+ #
333
+ # @param type [::FFI::Pointer, #to_ptr]
334
+ # @return [::FFI::Pointer]
335
+ def first(type)
336
+ raise DestroyedError unless @ptr
337
+ self_p = @ptr
338
+ result = ::CZMQ::FFI.zosc_first(self_p, type)
339
+ result
340
+ end
341
+
342
+ # Return the next item of the OSC message. If the list is empty, returns
343
+ # NULL. To move to the start of the OSC message call zosc_first ().
344
+ #
345
+ # @param type [::FFI::Pointer, #to_ptr]
346
+ # @return [::FFI::Pointer]
347
+ def next(type)
348
+ raise DestroyedError unless @ptr
349
+ self_p = @ptr
350
+ result = ::CZMQ::FFI.zosc_next(self_p, type)
351
+ result
352
+ end
353
+
354
+ # Return a pointer to the item at the tail of the OSC message.
355
+ # Sets the given char argument to the type tag of the data. If
356
+ # the message is empty, returns NULL.
357
+ #
358
+ # @param type [::FFI::Pointer, #to_ptr]
359
+ # @return [::FFI::Pointer]
360
+ def last(type)
361
+ raise DestroyedError unless @ptr
362
+ self_p = @ptr
363
+ result = ::CZMQ::FFI.zosc_last(self_p, type)
364
+ result
365
+ end
366
+
367
+ # Set the provided 32 bit integer from value at the current cursor position in the message.
368
+ # If the type tag at the current position does not correspond it will fail and
369
+ # return -1. Returns 0 on success.
370
+ #
371
+ # @param val [::FFI::Pointer, #to_ptr]
372
+ # @return [Integer]
373
+ def pop_int32(val)
374
+ raise DestroyedError unless @ptr
375
+ self_p = @ptr
376
+ result = ::CZMQ::FFI.zosc_pop_int32(self_p, val)
377
+ result
378
+ end
379
+
380
+ # Set the provided 64 bit integer from the value at the current cursor position in the message.
381
+ # If the type tag at the current position does not correspond it will fail and
382
+ # return -1. Returns 0 on success.
383
+ #
384
+ # @param val [::FFI::Pointer, #to_ptr]
385
+ # @return [Integer]
386
+ def pop_int64(val)
387
+ raise DestroyedError unless @ptr
388
+ self_p = @ptr
389
+ result = ::CZMQ::FFI.zosc_pop_int64(self_p, val)
390
+ result
391
+ end
392
+
393
+ # Set the provided float from the value at the current cursor position in the message.
394
+ # If the type tag at the current position does not correspond it will fail and
395
+ # return -1. Returns 0 on success.
396
+ #
397
+ # @param val [::FFI::Pointer, #to_ptr]
398
+ # @return [Integer]
399
+ def pop_float(val)
400
+ raise DestroyedError unless @ptr
401
+ self_p = @ptr
402
+ result = ::CZMQ::FFI.zosc_pop_float(self_p, val)
403
+ result
404
+ end
405
+
406
+ # Set the provided double from the value at the current cursor position in the message.
407
+ # If the type tag at the current position does not correspond it will fail and
408
+ # return -1. Returns 0 on success.
409
+ #
410
+ # @param val [::FFI::Pointer, #to_ptr]
411
+ # @return [Integer]
412
+ def pop_double(val)
413
+ raise DestroyedError unless @ptr
414
+ self_p = @ptr
415
+ result = ::CZMQ::FFI.zosc_pop_double(self_p, val)
416
+ result
417
+ end
418
+
419
+ # Set the provided string from the value at the current cursor position in the message.
420
+ # If the type tag at the current position does not correspond it will fail and
421
+ # return -1. Returns 0 on success. Caller owns the string!
422
+ #
423
+ # @param val [::FFI::Pointer, #to_ptr]
424
+ # @return [Integer]
425
+ def pop_string(val)
426
+ raise DestroyedError unless @ptr
427
+ self_p = @ptr
428
+ result = ::CZMQ::FFI.zosc_pop_string(self_p, val)
429
+ result
430
+ end
431
+
432
+ # Set the provided char from the value at the current cursor position in the message.
433
+ # If the type tag at the current position does not correspond it will fail and
434
+ # return -1. Returns 0 on success.
435
+ #
436
+ # @param val [::FFI::Pointer, #to_ptr]
437
+ # @return [Integer]
438
+ def pop_char(val)
439
+ raise DestroyedError unless @ptr
440
+ self_p = @ptr
441
+ result = ::CZMQ::FFI.zosc_pop_char(self_p, val)
442
+ result
443
+ end
444
+
445
+ # Set the provided boolean from the type tag in the message. Booleans are not represented
446
+ # in the data in the message, only in the type tag. If the type tag at the current
447
+ # position does not correspond it will fail and return -1. Returns 0 on success.
448
+ #
449
+ # @param val [::FFI::Pointer, #to_ptr]
450
+ # @return [Integer]
451
+ def pop_bool(val)
452
+ raise DestroyedError unless @ptr
453
+ self_p = @ptr
454
+ result = ::CZMQ::FFI.zosc_pop_bool(self_p, val)
455
+ result
456
+ end
457
+
458
+ # Set the provided 4 bytes (unsigned 32bit int) from the value at the current
459
+ # cursor position in the message. If the type tag at the current position does
460
+ # not correspond it will fail and return -1. Returns 0 on success.
461
+ #
462
+ # @param val [::FFI::Pointer, #to_ptr]
463
+ # @return [Integer]
464
+ def pop_midi(val)
465
+ raise DestroyedError unless @ptr
466
+ self_p = @ptr
467
+ result = ::CZMQ::FFI.zosc_pop_midi(self_p, val)
468
+ result
469
+ end
470
+
471
+ # Self test of this class.
472
+ #
473
+ # @param verbose [Boolean]
474
+ # @return [void]
475
+ def self.test(verbose)
476
+ verbose = !(0==verbose||!verbose) # boolean
477
+ result = ::CZMQ::FFI.zosc_test(verbose)
478
+ result
479
+ end
480
+ end
481
+ end
482
+ end
483
+
484
+ ################################################################################
485
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
486
+ # Read the zproject/README.md for information about making permanent changes. #
487
+ ################################################################################