class Chef::Util::Windows::NetUse

Public Class Methods

new(localname) click to toggle source
# File lib/chef/util/windows/net_use.rb, line 27
def initialize(localname)
  @use_name = localname
end

Public Instance Methods

add(args) click to toggle source
# File lib/chef/util/windows/net_use.rb, line 38
def add(args)
  if args.class == String
    remote = args
    args = Hash.new
    args[:remote] = remote
  end
  args[:local] ||= use_name
  ui2_hash = to_ui2_struct(args)

  begin
    Chef::ReservedNames::Win32::Net.net_use_add_l2(nil, ui2_hash)
  rescue Chef::Exceptions::Win32APIError => e
    raise ArgumentError, e
  end
end
delete() click to toggle source
# File lib/chef/util/windows/net_use.rb, line 72
def delete
  Chef::ReservedNames::Win32::Net.net_use_del(nil, use_name, :use_noforce)
rescue Chef::Exceptions::Win32APIError => e
  raise ArgumentError, e
end
device() click to toggle source
# File lib/chef/util/windows/net_use.rb, line 68
def device
  get_info()[:remote]
end
from_use_info_struct(ui2_hash) click to toggle source
# File lib/chef/util/windows/net_use.rb, line 54
def from_use_info_struct(ui2_hash)
  ui2_hash.inject({}) do |memo, (k, v)|
    memo[k.to_s.sub("ui2_", "").to_sym] = v
    memo
  end
end
get_info() click to toggle source
# File lib/chef/util/windows/net_use.rb, line 61
def get_info
  ui2 = Chef::ReservedNames::Win32::Net.net_use_get_info_l2(nil, use_name)
  from_use_info_struct(ui2)
rescue Chef::Exceptions::Win32APIError => e
  raise ArgumentError, e
end
to_ui2_struct(use_info) click to toggle source
# File lib/chef/util/windows/net_use.rb, line 31
def to_ui2_struct(use_info)
  use_info.inject({}) do |memo, (k, v)|
    memo["ui2_#{k}".to_sym] = v
    memo
  end
end
use_name() click to toggle source
# File lib/chef/util/windows/net_use.rb, line 78
def use_name
  @use_name
end