Module: R2CORBA::CORBA::Portable::BoxedValueBase

Defined in:
lib/corba/cbase/Values.rb,
lib/corba/jbase/Values.rb,
lib/corba/common/Values.rb

Overview

CustomValueBase

Defined Under Namespace

Classes: FactoryBase

Class Method Summary collapse

Class Method Details

.included(mod) ⇒ Object

generic factory base



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/corba/cbase/Values.rb', line 101

def self.included(mod)
  mod.module_eval do
    include CORBA::ValueBase unless self.include?(CORBA::ValueBase)

    def marshal(os)
      os.write_member(self.class._tc.content_type.resolved_tc, self.value)
    end

    def unmarshal(is)
      self.value = is.read_member(self.class._tc.content_type.resolved_tc)
    end

    self.const_set(:Factory, Class.new(CORBA::Portable::BoxedValueBase::FactoryBase))
    self::Factory.class_eval(%Q{
      def self.value_id
        #{self.name}::TRUNCATABLE_IDS.first
      end

      def _create_default
        #{self.name}.new
      end
    })
  end
end