...
Another method defined by every proxy class is ice_staticId
, which returns the type ID string corresponding to the interface. As an example, for the Slice interface Simple
in module M
, the string returned by ice_staticId
is "::M::Simple"
.
Interface Inheritance in Ruby
Inheritance relationships among Slice interfaces are maintained in the generated Ruby classes. For example:
Code Block |
---|
|
interface A { ... }
interface B { ... }
interface C extends A, B { ... } |
The generated code for CPrx
uses mixins to include the operations of APrx
and BPrx
:
Code Block |
---|
|
module CPrx_mixin
include APrx_mixin
include BPrx_mixin
end
class CPrx < ::Ice::ObjectPrx
include ::Ice::Proxy_mixin
include CPrx_mixin
end |
Given a proxy for C
, a client can invoke any operation defined for interface C
, as well as any operation inherited from C
's base interfaces.
Ice::ObjectPrx
Class in Ruby
...