Remote objects map onto a pure virtual struct
providing a
call()
method. call()
takes the same parameters as the
corresponing service definition and return no data (void
). It
may throw a genom::exception
representing an error code.
For instance, the following IDL:
interface i { function f(in long i, out double o); }; component c { uses i; };
would map into
namespace c { struct f { virtual void call(uint32_t i, double &o) = 0; }; }
The remote service is invoked in a synchronous manner.