summaryrefslogtreecommitdiff
path: root/ext/win32ole/lib/win32ole/property.rb
blob: 558056b32b85a3a59e2e3a11bf385629e0e98235 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: false

class WIN32OLE
end

# OLEProperty is a helper class of Property with arguments, used by
# `olegen.rb`-generated files.
class WIN32OLE::Property
  # :stopdoc:
  def initialize(obj, dispid, gettypes, settypes)
    @obj = obj
    @dispid = dispid
    @gettypes = gettypes
    @settypes = settypes
  end
  def [](*args)
    @obj._getproperty(@dispid, args, @gettypes)
  end
  def []=(*args)
    @obj._setproperty(@dispid, args, @settypes)
  end
  # :stopdoc:
end

module WIN32OLE::VariantType
  # Alias for `olegen.rb`-generated files, that should include
  # WIN32OLE::VARIANT.
  OLEProperty = WIN32OLE::Property
end