35 lines
1.2 KiB
Lua

require "oil"
oil.main(function()
local orb = oil.init()
------------------------------------------------------------------------------
orb:loadidl [[
module Adaptation {
interface Server {
boolean do_something_for(in long seconds);
};
interface Adaptor {
void update_definition(in string definition);
};
};
]]
------------------------------------------------------------------------------
local server_impl = {}
function server_impl:do_something_for(seconds)
print("about to sleep for "..seconds.." seconds")
oil.sleep(seconds)
return true
end
local adaptor_impl = {}
function adaptor_impl:update_definition(definition)
orb:loadidl(definition)
end
------------------------------------------------------------------------------
local server = orb:newservant(server_impl, nil, "IDL:Adaptation/Server:1.0")
local adaptor = orb:newservant(adaptor_impl, nil, "IDL:Adaptation/Adaptor:1.0")
------------------------------------------------------------------------------
oil.writeto("server.ior", orb:tostring(server))
oil.writeto("serveradaptor.ior", orb:tostring(adaptor))
------------------------------------------------------------------------------
orb:run()
end)