Next: , Previous: C++ Port, Up: C++ mappings


6.2.12 Mapping for remote services

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.