/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.protectioncontroller; import java.net.URI; import com.emc.storageos.Controller; import com.emc.storageos.svcs.errorhandling.resources.InternalException; import com.emc.storageos.volumecontroller.AsyncTask; /** * Protection Base Controller Interface */ public interface ProtectionController extends Controller { /** * Connect to the protection controller with the given address and credentials. * * @param protection URI for the protection controller. */ public void connect(URI protection) throws InternalException; /** * Disconnect from the protection controller. * * @param protection URI of the protection controller. */ public void disconnect(URI protection) throws InternalException; /** * Discover the given protection device or protection set which is registered with Bourne * * @param tasks for discovery jobs. * @throws InternalException */ public void discover(AsyncTask[] tasks) throws InternalException; }