49 lines
2.2 KiB
Lua
49 lines
2.2 KiB
Lua
--------------------------------------------------------------------------------
|
|
------------------------------ ##### ## ------------------------------
|
|
------------------------------ ## ## # ## ------------------------------
|
|
------------------------------ ## ## ## ## ------------------------------
|
|
------------------------------ ## ## # ## ------------------------------
|
|
------------------------------ ##### ### ###### ------------------------------
|
|
-------------------------------- --------------------------------
|
|
----------------------- An Object Request Broker in Lua ------------------------
|
|
--------------------------------------------------------------------------------
|
|
-- Project: OiL - ORB in Lua: An Object Request Broker in Lua --
|
|
-- Release: 0.4 --
|
|
-- Title : Client-Side Broker --
|
|
-- Authors: Renato Maia <maia@inf.puc-rio.br> --
|
|
--------------------------------------------------------------------------------
|
|
-- broker:Facet
|
|
-- proxy:object fromstring(reference:string)
|
|
-- proxy:object proxy(reference:table)
|
|
--
|
|
-- proxies:Receptacle
|
|
-- proxy:object proxyto(reference:table)
|
|
--
|
|
-- references:Receptacle
|
|
-- reference:table decode(stringfiedref:string)
|
|
--------------------------------------------------------------------------------
|
|
|
|
local type = type
|
|
|
|
local oo = require "oil.oo" --[[VERBOSE]] local verbose = require "oil.verbose"
|
|
|
|
module("oil.kernel.base.Client", oo.class)
|
|
|
|
context = false
|
|
|
|
function fromstring(self, reference)
|
|
local result, except = self.context.references:decode(reference)
|
|
if result then
|
|
result, except = self:proxy(result)
|
|
end
|
|
return result, except
|
|
end
|
|
|
|
function proxy(self, reference) --[[VERBOSE]] verbose:client "creating proxy"
|
|
return self.context.proxies:proxyto(reference)
|
|
end
|
|
|
|
function excepthandler(self, handler) --[[VERBOSE]] verbose:client "setting exception handler"
|
|
return self.context.proxies:excepthandler(handler)
|
|
end
|