Sha256: 288cbe6d60c5810c77c1666cfda71531e72aa0937614e1fd1f0df6ed35a2dd57

Contents?: true

Size: 1.08 KB

Versions: 56

Compression:

Stored size: 1.08 KB

Contents

module Nokogiri
  module LibXML # :nodoc:

    module XmlNodeSetMixin # :nodoc:
      def self.included(base)
        base.class_eval do

          layout(
            :nodeNr,    :int,
            :nodeMax,   :int,
            :nodeTab,   :pointer
            )

        end
      end

      def document
        p = self[:doc]
        p.null? ? nil : LibXML::XmlDocumentCast.new(p)
      end

      def nodeAt(index)
        self[:nodeTab].get_pointer(LibXML.pointer_offset(index))
      end

      def nodeTab
        self[:nodeTab].read_array_of_pointer(self[:nodeNr])
      end

      def nodeTab=(array)
        # TODO: do we need to check nodeMax and allocate more memory? probably.
        self[:nodeTab].write_array_of_pointer(array)
      end
    end


    class XmlNodeSet < FFI::ManagedStruct # :nodoc:
      include XmlNodeSetMixin

      def self.release ptr
        ns = XmlNodeSetCast.new(ptr)
        LibXML.xmlFree ns[:nodeTab] if ns[:nodeTab]
        LibXML.xmlFree ptr
      end
    end


    class XmlNodeSetCast < FFI::Struct # :nodoc:
      include XmlNodeSetMixin
    end

  end
end

Version data entries

56 entries across 56 versions & 9 rubygems

Version Path
domo-0.0.4 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4.2-java lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4.1-x86-mswin32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4.1-x86-mingw32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4-x86-mswin32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4-x86-mingw32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4-java lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.4 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3.1-java lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3.1-x86-mswin32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3.1-x86-mingw32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3.1 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3-java lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3-x86-mswin32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3-x86-mingw32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.3 lib/nokogiri/ffi/structs/xml_node_set.rb
glebm-nokogiri-1.4.2.1 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.2.1-x86-mswin32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.2.1-x86-mingw32 lib/nokogiri/ffi/structs/xml_node_set.rb
nokogiri-1.4.2-java lib/nokogiri/ffi/structs/xml_node_set.rb