/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.utils.common.service; /** * Service that tracks {@link AdditionalServicesProvider}s, and registers the declared additional services on their behalf. This allows * service implementations to provide service implementations without having to subclass them directly (see Mantis #9423). * * @author Robert Mischke */ public interface AdditionalServicesRegistrationService { /** * Processes a new {@link AdditionalServicesProvider}. Each service implementation defined by * {@link AdditionalServicesProvider#defineAdditionalServices()} will be registered as an OSGi service. * * @param additionalServicesProvider the new {@link AdditionalServicesProvider} */ void registerAdditionalServicesProvider(AdditionalServicesProvider additionalServicesProvider); /** * Removes a previously registered {@link AdditionalServicesProvider}. Each service implementation defined by * {@link AdditionalServicesProvider#defineAdditionalServices()} will be unregistered. * * @param additionalServicesProvider the {@link AdditionalServicesProvider} to remove */ void unregisterAdditionalServicesProvider(AdditionalServicesProvider additionalServicesProvider); }