module Chef::ReservedNames::Win32::API::Net::StructHelpers

Public Instance Methods

as_ruby() click to toggle source
# File lib/chef/win32/api/net.rb, line 86
def as_ruby
  members.inject({}) do |memo, key|
    memo[key] = get(key)
    memo
  end
end
get(key) click to toggle source
# File lib/chef/win32/api/net.rb, line 69
def get(key)
  if respond_to? key
    send(key)
  else
    val = self[key]
    if val.is_a? FFI::Pointer
      if val.null?
        nil
      else
        val.read_wstring
      end
    else
      val
    end
  end
end
set(key, val) click to toggle source
# File lib/chef/win32/api/net.rb, line 55
def set(key, val)
  val = if val.is_a? String
          encoded = if val.encoding == Encoding::UTF_16LE
                      val
                    else
                      val.to_wstring
                    end
          FFI::MemoryPointer.from_string(encoded)
        else
          val
        end
  self[key] = val
end