Class: R2CORBA::CORBA::Portable::Union

Inherits:
Object
  • Object
show all
Defined in:
lib/corba/common/Union.rb

Instance Method Summary collapse

Constructor Details

#initializeUnion

Returns a new instance of Union.



18
19
20
21
# File 'lib/corba/common/Union.rb', line 18

def initialize
  @discriminator = nil
  @value = nil
end

Instance Method Details

#_discObject



32
33
34
# File 'lib/corba/common/Union.rb', line 32

def _disc
  @discriminator
end

#_disc=(val) ⇒ Object

Raises:

  • (::CORBA::BAD_PARAM)


36
37
38
39
40
41
42
43
44
45
# File 'lib/corba/common/Union.rb', line 36

def _disc=(val)
  m_cur = self.class._tc.label_member(@discriminator) unless @discriminator.nil?
  m_new = self.class._tc.label_member(val)
  raise ::CORBA::BAD_PARAM.new(
    "discriminator value (#{val.to_s}) outside current member for union #{self.class._tc.name}",
    1, ::CORBA::COMPLETED_NO) unless @discriminator.nil? || m_cur == m_new
  disc_ = @discriminator
  @discriminator = val
  disc_
end

#_is_at_default?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/corba/common/Union.rb', line 23

def _is_at_default?
  @discriminator == :default
end

#_valueObject



47
48
49
# File 'lib/corba/common/Union.rb', line 47

def _value
  @value
end

#_value_tcObject



27
28
29
30
# File 'lib/corba/common/Union.rb', line 27

def _value_tc
  ix = self.class._tc.label_index(@discriminator)
  self.class._tc.member_type(ix)
end