now distinguishing between provided and required service and added
[utils] / system / general / src / main / java / org / wamblee / system / SubSystem.java
index babb9e025edbd7ce2e15bdeb114e576451b19aaf..38c9b9c9508a982dc33e7fc1609f6b840d2b90cb 100644 (file)
@@ -16,26 +16,29 @@ public interface SubSystem {
         * Gets a description of the provided interfaces. 
         * @return Provided interfaces. 
         */
-       ServiceDescriptor[] getProvidedServices();
+       ProvidedServiceDescriptor[] getProvidedServices();
        
        /**
         * Gets a description of the required interfaces. 
         * @return Required interfaces. 
         */
-       ServiceDescriptor[] getRequiredServices();
+       RequiredServiceDescriptor[] getRequiredServices();
 
        
        /**
         * Initialises the subsytem by starting all the services that
         * it described as provided. 
         * @param aContext Unique name for the subsystem. 
-        * @param aRegistry Registry of service to which the subsystem must register the services it
-        *   creates. 
         * @param aRequiredServices Running services from other 
         * subsystems that are required by this subsystem. 
         * @return Services that are running in the subsystem. 
         */
-       Service[] start(String aContext, ServiceRegistry aRegistry, Service[] aRequiredServices);
+       Service[] start(String aContext, Service[] aRequiredServices);
+       
+       /**
+        * Stops a subsystem. 
+        */
+       void stop(); 
        
        /**
         * Gets the list of running services in the subsystem.