def SipperConfigurator.load_yaml_file(file)
begin
lsip = lspo = rsip = rspo = nil
io = File.new(file, "r")
@@comment_str = ""
io.each do |line|
if line =~ /# ----/
break
else
@@comment_str << line
end
end
obj = YAML::load(io)
if obj.class == Hash
if SipperConfigurator[:CommandlineBitmask]
lsip = SipperConfigurator[:LocalSipperIP] if ((SipperConfigurator[:CommandlineBitmask] | 8) == SipperConfigurator[:CommandlineBitmask])
lspo = SipperConfigurator[:LocalSipperPort] if ((SipperConfigurator[:CommandlineBitmask] | 4) == SipperConfigurator[:CommandlineBitmask])
rsip = SipperConfigurator[:DefaultRIP] if ((SipperConfigurator[:CommandlineBitmask] | 2) == SipperConfigurator[:CommandlineBitmask])
rspo = SipperConfigurator[:DefaultRP] if ((SipperConfigurator[:CommandlineBitmask] | 1) == SipperConfigurator[:CommandlineBitmask])
end
@@cfg_hash = @@cfg_hash.merge(obj)
SipperConfigurator[:LocalSipperIP] = lsip if lsip
SipperConfigurator[:LocalSipperPort] = lspo if lspo
SipperConfigurator[:DefaultRIP] = rsip if rsip
SipperConfigurator[:DefaultRP] = rspo if rspo
else
msg = "Object read from file #{file} is not a configuration"
raise TypeError, msg
end
rescue IOError
msg = "#{file} is not a proper file"
raise TypeError, msg
ensure
io.close if io
end
end