Newer
Older
/**
* @author SCP WG3, ETSI
* @version 0.10
* UiccApplicationManagementService defines methods to manage applications
*/
package org.etsi.scp.wg3.uicc.jcapi.userinterface;
public interface UiccApplicationManagementService {
/**
* load cap file in the card
* @param relative path of the cap file, as String
* @return ResponseAPDU Object
*/
public APDUResponse loadPackage(String capFilePath);
/**
* install and makeSelectable an instance in the card
* @param relative path of the cap file, as String
* @param Aid of the class, as String
* @param Aid of the instance, as String
* @param UICC System Specific TLV as defined in 102 226 specification, as String
* @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
*/
default APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters)
{
return installApplet(capFilePath, classAID, appAID, uiccSystemSpecificParameters, false);
}
/**
* install and makeSelectable an instance in the card
* @param relative path of the cap file, as String
* @param Aid of the class, as String
* @param Aid of the instance, as String
* @param UICC System Specific TLV as defined in 102 226 specification, as String
* @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
* If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
* to NOT fetch the corresponding proactive command,
* as it is expected to occur subsequently in the test case.
* @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
*/
APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters, boolean immediate91XXExpected);
/**
* install an applet in installed state
* @param relative path of the cap file, as String
* @param AID of the class, as String
* @param AID of the instance, as String
* @param UICC System Specific TLV as defined in 102 226 specification, as String
* @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
*/
public APDUResponse installInstallApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters);
/**
* make an applet selectable (install for make selectable)
* @param AID of the instance, as String
* @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
*/
default APDUResponse makeSelectableApplet(String appAID)
{
return makeSelectableApplet(appAID, false);
}
/**
* make an applet selectable (install for make selectable)
* @param AID of the instance, as String
* @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
* If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
* to NOT fetch the corresponding proactive command,
* as it is expected to occur subsequently in the test case.
* @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
*/
APDUResponse makeSelectableApplet(String appAID, boolean immediate91XXExpected);
/**
* perform a SelectApplication APDU command
* @param AID of instance, as String
* @param Logical Channel number, as String
* @return ResponseAPDU Object, containing the application response
*/
public APDUResponse selectApplication(String AID);
public APDUResponse selectApplication(String LogicalChannel, String AID);
/**
* lock an application
* @param AID of application, as String
* @return ResponseAPDU Object, containing the application response
*/
default APDUResponse lockApplication(String appletAid)
{
return lockApplication(appletAid, false);
}
/**
* lock an application
* @param AID of application, as String
* @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
* If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
* to NOT fetch the corresponding proactive command,
* as it is expected to occur subsequently in the test case.
* @return ResponseAPDU Object, containing the application response
*/
APDUResponse lockApplication(String appletAid, boolean immediate91XXExpected);
/**
* unlock an application
* @param AID of application, as String
* @return ResponseAPDU Object, containing the application response
*/
default APDUResponse unlockApplication(String appletAid)
{
return unlockApplication(appletAid, false);
}
/**
* unlock an application
* @param AID of application, as String
* @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
* If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
* to NOT fetch the corresponding proactive command,
* as it is expected to occur subsequently in the test case.
* @return ResponseAPDU Object, containing the application response
*/
APDUResponse unlockApplication(String appletAid, boolean immediate91XXExpected);
/**
* delete an applet specified by its AID
* @param AID of applet, as String
* @return ResponseAPDU Object
*/
default APDUResponse deleteApplet(String AID)
{
return deleteApplet(AID, false);
}
/**
* delete an applet specified by its AID
* @param AID of applet, as String
* @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
* If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
* to NOT fetch the corresponding proactive command,
* as it is expected to occur subsequently in the test case.
APDUResponse deleteApplet(String AID, boolean immediate91XXExpected);
/**
* delete a package specified by its path
* @param relative path of package, as String
* @return ResponseAPDU Object
*/
public APDUResponse deletePackage(String capFilePath);
/**
* delete a package specified by its path, and all its related applications
* @param relative path of package, as String
* @return APDUResponse Object
*/
public APDUResponse deletePackageAndAllRelatedApplications(String capFilePath);
}