/*
* Copyright (c) 2012 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.vasa;
// VASA API version specific classes
import com.emc.storageos.vasa.util.SSLUtil;
import com.vmware.vim.vasa._1_0.InvalidArgument;
import com.vmware.vim.vasa._1_0.InvalidCertificate;
import com.vmware.vim.vasa._1_0.InvalidLogin;
import com.vmware.vim.vasa._1_0.InvalidSession;
import com.vmware.vim.vasa._1_0.StorageFault;
import com.vmware.vim.vasa._1_0.data.xsd.MessageCatalog;
import com.vmware.vim.vasa._1_0.data.xsd.UsageContext;
import com.vmware.vim.vasa._1_0.data.xsd.VasaProviderInfo;
public interface ContextManager {
public VasaProviderInfo registerVASACertificate(String userName,
String password, String newCertificate) throws InvalidCertificate, InvalidLogin,
InvalidSession, StorageFault;
public void unregisterVASACertificate(String existingCertificate)
throws InvalidCertificate, InvalidSession, StorageFault;
/** Configuration/Setup related APIs */
public MessageCatalog[] queryCatalog() throws InvalidSession, StorageFault;
public VasaProviderInfo setContext(UsageContext uc) throws InvalidArgument, InvalidSession, StorageFault;
public void init(SSLUtil sslUtil);
public VasaProviderInfo initializeVasaProviderInfo();
public UsageContext getUsageContext() throws InvalidSession, StorageFault;
/**
* Returns instance of <code>SOSManager</code> of the current VASA session
*
* @return instance of <code>SOSManager</code>
* @throws InvalidSession
* @throws StorageFault
*/
public SOSManager getSOSManager() throws StorageFault, InvalidSession;
// public MountInfo[] getMountInfo() throws InvalidSession, StorageFault;
}