Module: Fairy::CBarrier::Factory

Included in:
CBarrierBuffer, CBarrierCond, CBarrierMode
Defined in:
lib/fairy/master/c-barrier.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(mod) ⇒ Object



59
60
61
# File 'lib/fairy/master/c-barrier.rb', line 59

def self.extended(mod)
	mod.init_fact
end

Instance Method Details

#create(bbarrier, mode, *opts) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/fairy/master/c-barrier.rb', line 67

def create(bbarrier, mode, *opts)
	klass = @ModeName2Class[mode]
	ERR::Raise ERR::NoSuchMode, mode unless klass
	
	mode = klass.new(bbarrier, mode, *opts)
	mode
end

#init_factObject



63
64
65
# File 'lib/fairy/master/c-barrier.rb', line 63

def init_fact
	@ModeName2Class = {}
end

#register_mode(mode, klass) ⇒ Object



75
76
77
# File 'lib/fairy/master/c-barrier.rb', line 75

def register_mode(mode, klass)
	@ModeName2Class[mode] = klass
end