After our service provider (i.e. our ISimpleServiceProvider or IServiceProvider) has returned a facet collection the ServiceManager reserves the right to add its own facets before passing the whole lot back to the consumer as a service.
If the service provider says it is an admin service then the ServiceManager will add an IConsoleFacet of ``standard'' commands. In a manager these commands let us shut down the application, make warrants, list the managers' status, and so on. In a worker there are no commands in this IConsoleFacet, so it's fairly useless. So a service provider for an admin service is really only useful in a manager.
If the service provider says it is not an admin service then the ServiceManager doesn't add any more facets. However, this could change in a future version.
Either way, the facets that the ServiceManager adds are secondary
to ours--in the event of a clashing facet then ours gets used and
the ServiceManager's gets ignored. Specifically, if we want
to add our own IConsoleFacet in an admin service to replace
the standard one then we just return one of our own from the createFacetCollection()
method. If we want to return our own IConsoleFacet which
adds to the standard one, then Section ![[*]](crossref.png) explains
how to use the JointConsole class.
 explains
how to use the JointConsole class.
Nik Silver 2002-03-09