Every server has a server object that implements three kinds of activities:
Additional, application-specific server methods (for initialization, server control, etc.) can be defined in a subclass of the SOMDServer class. The class of the server object to be used with a server is contained in the server's ImplementationDef.
Following are the IDL declarations of the SOMDServer operations:
// methods called by a client
SOMObject somdCreateObj(in Identifier objclass, in string hints)
void somdDeleteObj(in SOMObject somobj);
SOMClass somdGetClassObj(in Identifier objclass);
// methods called by SOMOA
SOMDObject somdRefFromSOMObj(in SOMObject somobj);
SOMObject somdSOMObjFromRef(in SOMDObject objref);
void somdDispatchMethod(in SOMObject somobj,
out somToken retValue,
in somId methodId,
in va_list ap);