Parent

Methods

FFI::AutoPointer::Releaser

@abstract Base class for {AutoPointer}'s releasers.

All subclasses of Releaser should define a +#release(ptr)+ method.

A releaser is an object in charge of release an {AutoPointer}.

Attributes

autorelease[RW]

Public Class Methods

new(ptr, proc) click to toggle source

@param [Pointer] ptr @param [call] proc @return [nil] A new instance of Releaser.

# File lib/ffi/autopointer.rb, line 114
def initialize(ptr, proc)
  @ptr = ptr
  @proc = proc
  @autorelease = true
end

Public Instance Methods

call(*args) click to toggle source

@param args Release pointer if autorelease is set.

# File lib/ffi/autopointer.rb, line 133
def call(*args)
  release(@ptr) if @autorelease && @ptr
end
free() click to toggle source

@return [nil] Free pointer.

# File lib/ffi/autopointer.rb, line 122
def free
  if @ptr
    release(@ptr)
    @autorelease = false
    @ptr = nil
    @proc = nil
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.