Class: Hakuban::ObjectStateSink
Instance Method Summary
collapse
Methods included from Stream
#each
Methods inherited from FFIObject
#do_and_drop, #do_and_drop_or_return, #drop, #drop_lock, #drop_release, #dropped?, generate_finalizer, #initialize_copy, #inspect, #with_pointer, with_pointers
Constructor Details
Returns a new instance of ObjectStateSink.
11
12
13
|
# File 'lib/hakuban/object_state_sink.rb', line 11
def initialize(pointer)
initialize_pointer(pointer, :hakuban_object_state_sink_drop, nil)
end
|
Instance Method Details
#current(&block) ⇒ Object
26
27
28
29
30
|
# File 'lib/hakuban/object_state_sink.rb', line 26
def current(&block)
return nil if ! pointer = with_pointer { |pointer| FFI::hakuban_object_state_sink_current(pointer) }.unwrap
ObjectStateSinkParams.send(:new, pointer).do_and_drop_or_return(&block)
rescue FFIObject::PointerAlreadyDropped
end
|
#descriptor ⇒ Object
41
42
43
|
# File 'lib/hakuban/object_state_sink.rb', line 41
def descriptor
Hakuban::ObjectDescriptor.send(:from_ffi_pointer, with_pointer { |pointer| FFI::hakuban_object_state_sink_descriptor(pointer) })
end
|
#desynchronize ⇒ Object
46
47
48
49
|
# File 'lib/hakuban/object_state_sink.rb', line 46
def desynchronize
with_pointer { |pointer| FFI::hakuban_object_state_sink_desynchronize(pointer) }
rescue FFIObject::PointerAlreadyDropped
end
|
#send(object_state) ⇒ Object