/* * Copyright (c) 2013-2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.systemservices.impl.licensing; import com.emc.storageos.model.vpool.ManagedResourcesCapacity; import com.emc.storageos.svcs.errorhandling.resources.InternalServerErrorException; import com.emc.storageos.coordinator.client.service.CoordinatorClient.LicenseType; import com.emc.storageos.systemservices.exceptions.CoordinatorClientException; import com.emc.vipr.model.sys.licensing.License; public interface LicenseManager { public static final String PERMANENT_LICENSE = "permanent"; public static final String EXPIRE_DATE_FORMAT = "MM/dd/yyyy"; public void addLicense(License license) throws Exception; public boolean isTrialPackage(); public boolean isTrialLicense(License license) throws Exception; public License getLicense() throws Exception; public boolean isProductLicensed(LicenseType licenseType); public LicenseInfoListExt getLicenseInfoListFromCoordinator(); public LicenseInfoExt getLicenseInfoFromCoordinator(LicenseType licenseType); public LicenseTextInfo getLicenseTextFromCoordinator() throws Exception; public void updateCoordinatorWithLicenseText(License license) throws CoordinatorClientException; public void updateCoordinatorWithLicenseInfo(LicenseInfoExt licenseInfo) throws CoordinatorClientException; public boolean isLicenseExpired(LicenseInfoExt licenseInfo); public boolean isCapacityExceeded(LicenseInfoExt licenseInfo); public ManagedResourcesCapacity getControllerCapacity() throws InternalServerErrorException; public boolean getTargetInfoLock(); public void releaseTargetVersionLock(); }