ContentRegistrarAPI is a service interface which is
      implemented by a plugin which is part of the web content provision demonstration.  It
      is used to allow KPs to provide Web content through a properly
      configured Web server.
    
 This interface defines the following object type:
    
      -  ContentRegistrar
      
-  The object which provides an interface to the local Web
	server, allowing KPs and other entities in the KOE to provide
	content via the Web.
    
 This type is also defined:
    
      -  Identifier
-  Opaque identifier for content provider registrations.
    
      -  NonUniqueNameError
      
-  Raised by the registrar on attempts to register a content
	provider name which is already registered.  The exception
	value is the identifying token for the existing registration.
	The value will change in a future release.
	
       
-  BadIdentifierError
      
-  Raised by the registrar when a content provider passed in a 
	unknown identifier value; this indicates that the
	ContentRegistrar was not able to identify the caller.
    
 In the descriptions below, the parameter name ident 
      indicates that the parameter should be the result of a
      preceeding call to RegisterProvider().  If
      ident does not correspond to a known provider, a
      BadIdentifierError exception is raised.
    
      -  RegisterProvider
	(name : String) : Identifier
      
-  Request registration for a new provider by name.  If
	name is already in use, NonUniqueNameError
	is raised.  The returned Identifier is used in subsequent
	calls to configure the service required for the provider.
	
       
-  UnRegisterProvider
	(ident) : Identifier
      
-  Request removal of the provider from the list of registered 
	providers, and stop providing content for that provider.
	
       
-  RegisterLiveContent
	(ident : Identifier,
	 provider : ContentProviderAPI.ContentProvider)
      
-  Register provider support for dynamic content generation.
	The ContentProviderAPI.ContentProvider interface is discussed elsewhere.
	
       
-  UnRegisterLiveContent
	(ident)
      
-  Cancel support for dynamic content for the specified
	provider.  Support for static content remains active.  Once
	this has been called, the GetContent() method of the
	registered provider object will not be called again until any
	subsequent call of RegisterLiveContent().
	
       
-  UploadStaticContent
	(ident : Identifier,
	 suitcaserepr : KPRepr.NamedPart)
      
-  Request that static content be provided via the Web server
	without the intervention of the content provider.  The static
	content to be provided is taken from the contents of the
	suitcase filesystem contained in the KP.  Any files that have
	already been uploaded will be overwritten.  To actually
	delete directories or files, call UnloadStaticContent()
	then re-upload the complete collection of static content.
	There is currently no way to specify that only a portion of
	the suitcase should be used.
	
       
-  UnloadStaticContent
	(ident : Identifier)
      
-  Remove any static content that has previously been
	registered for the specified content provider.  Support for
	dynamic content remains active.