Inquiring about a remote object's implementation

A client may wish to inquire about the (server) implementation of a remote object. All objects in a server, including the "server object", share the same implementation definition. This is common when using the somdFindServersByClass call, where a sequence of server proxies is returned, and some choice must be made about which to use.

When a proxy is obtained by a client, the client can inquire about the underlying server implementation by obtaining its corresponding ImplementationDef. An ImplementationDef object contains a set of attributes that describe a server implementation. To get the ImplementationDef associated with a remote object, the get_implementation method (implemented on SOMDObject and inherited by SOMDClientProxy) can be called.

For example, if a program has a proxy for a remote server object, it can get the ImplementationDef for the server with method calls similar to the following:

    ImplementationDef implDef;
    SOMDServer server;

    ...
    implDef = _get_implementation(server, &ev);

Once the ImplementationDef has been obtained, the application can access its attributes using the _get_impl_xxx methods.

The ImplementationDef class is discussed further in section 6.6, "Configuring DSOM."


[Back: Creating an object in a specific server]
[Next: Destroying remote objects]