package org.limewire.lifecycle;
public interface ServiceRegistry {
/** Registers a service to be started in when the registry starts. */
StagedRegisterBuilder register(Service service);
/** Runs initialize on all registered services. */
void initialize();
/** Starts all services that are *not* registered with a custom stage. */
void start();
/** Stops all services that were started in the reverse order than they were started. */
void stop();
/** Starts all services within the given stage. */
void start(Object stage);
/** Adds a listener that will be notified of changes in the registry's state. */
void addListener(ServiceRegistryListener serviceRegistryListener);
}