Class: Fzeet::Windows::PROPVARIANT
- Inherits:
-
FFI::Union
- Object
- FFI::Union
- Fzeet::Windows::PROPVARIANT
- Includes:
- AnonymousSupport
- Defined in:
- lib/fzeet/windows/ole/PropVariant.rb
Class Method Summary collapse
Instance Method Summary collapse
- #bool ⇒ Object
- #bool=(bool) ⇒ Object
- #decimal ⇒ Object
- #decimal=(decimal) ⇒ Object
- #int ⇒ Object
- #int=(int) ⇒ Object
- #uint ⇒ Object
- #uint=(uint) ⇒ Object
- #unknown ⇒ Object
- #unknown=(unknown) ⇒ Object
- #wstring ⇒ Object
- #wstring=(string) ⇒ Object
Methods included from AnonymousSupport
Class Method Details
.[](t, *v) ⇒ Object
95 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 95 def self.[](t, *v) new.tap { |var| var.send("#{t}=", *v) } end |
Instance Method Details
#bool ⇒ Object
97 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 97 def bool; raise 'Wrong type tag.' unless self[:vt] == VT_BOOL; self[:boolVal] != 0 end |
#bool=(bool) ⇒ Object
98 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 98 def bool=(bool) self[:vt] = VT_BOOL; self[:boolVal] = (bool) ? -1 : 0 end |
#decimal ⇒ Object
128 129 130 131 132 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 128 def decimal raise 'Wrong type tag.' unless self[:vt] == VT_DECIMAL Rational(self[:decVal][:Lo64], 10 ** self[:decVal][:scale]) + self[:decVal][:Hi32] end |
#decimal=(decimal) ⇒ Object
134 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 134 def decimal=(decimal) self[:vt] = VT_DECIMAL; self[:decVal][:Lo64] = decimal end |
#int ⇒ Object
100 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 100 def int; raise 'Wrong type tag.' unless self[:vt] == VT_I4; self[:intVal] end |
#int=(int) ⇒ Object
101 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 101 def int=(int) self[:vt] = VT_I4; self[:intVal] = int end |
#uint ⇒ Object
103 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 103 def uint; raise 'Wrong type tag.' unless self[:vt] == VT_UI4; self[:uintVal] end |
#uint=(uint) ⇒ Object
104 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 104 def uint=(uint) self[:vt] = VT_UI4; self[:uintVal] = uint end |
#unknown ⇒ Object
106 107 108 109 110 111 112 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 106 def unknown raise 'Wrong type tag.' unless self[:vt] == VT_UNKNOWN yield Unknown.new(self[:punkVal]) ensure Windows.PropVariantClear(self) end |
#unknown=(unknown) ⇒ Object
114 |
# File 'lib/fzeet/windows/ole/PropVariant.rb', line 114 def unknown=(unknown) self[:vt] = VT_UNKNOWN; self[:punkVal] = unknown.pointer; unknown.AddRef end |