package de.persosim.simulator.protocols.file;
/*
* AUTOMATICALLY GENERATED CODE - DO NOT EDIT!
*
* (C) 2013 HJP-Consulting GmbH
*/
@SuppressWarnings("all")//generated code
/* Command line options: -verbose -p EA -o DefaultFileProtocol -l java -t FM:fmclass C:\workunits\complete\codegen\modelExports\protocol_file.xml */
/* This file is generated from protocol_file.xml - do not edit manually */
/* Generated on: Mon Nov 16 16:59:45 CET 2015 / version 3.6.11 */
public class DefaultFileProtocol extends AbstractFileProtocol
{
public static final int UPDATE_BINARY_PROCESSED = 0;
public static final int FM_ANNOUNCED = 1;
public static final int READ_BINARY_PROCESSED = 2;
public static final int FM_INIT = 3;
public static final int ERASE_BINARY_ODD_PROCESSED = 4;
public static final int REGISTER_APDU_SELECT_FILE = 5;
public static final int FM_COMPLETED = 6;
public static final int REGISTER_APDU_READ_BINARY_ODD = 7;
public static final int REGISTER_APDU_ERASE_BINARY_ODD = 8;
public static final int SELECT_FILE_PROCESSED = 9;
public static final int READ_BINARY_ODD_RECEIVED = 10;
public static final int UPDATE_BINARY_ODD_RECEIVED = 11;
public static final int ERASE_BINARY_ODD_RECEIVED = 12;
public static final int SELECT_FILE_RECEIVED = 13;
public static final int ERASE_BINARY_PROCESSED = 14;
public static final int REGISTER_APDU_UPDATE_BINARY_ODD = 15;
public static final int ERROR_HANDLING = 16;
public static final int REGISTER_APDUS = 17;
public static final int REGISTER_APDU_UPDATE_BINARY = 18;
public static final int UPDATE_BINARY_RECEIVED = 19;
public static final int READ_BINARY_RECEIVED = 20;
public static final int UPDATE_BINARY_ODD_PROCESSED = 21;
public static final int READ_BINARY_ODD_PROCESSED = 22;
public static final int ERASE_BINARY_RECEIVED = 23;
public static final int REGISTER_APDU_ERASE_BINARY = 24;
public static final int REGISTER_APDU_READ_BINARY = 25;
public static final int __UNKNOWN_STATE__ = 26;
public static final int DEFAULTFILEPROTOCOL_NO_MSG = 0;
// flag if initialized
protected boolean m_initialized=false;
int stateVar;
int stateVarFM_ANNOUNCED;
int stateVarREGISTER_APDUS;
// State handler class default ctor
public DefaultFileProtocol()
{
}
/* Helper(s) to reset history */
public void resetHistoryFM_ANNOUNCED(){stateVarFM_ANNOUNCED= FM_INIT;}
public void resetHistoryREGISTER_APDUS(){stateVarREGISTER_APDUS= REGISTER_APDU_SELECT_FILE;}
/* Helper to get innermost active state id */
public int getInnermostActiveState() {
if(isInREGISTER_APDU_READ_BINARY()){
return REGISTER_APDU_READ_BINARY;
}else if(isInREGISTER_APDU_ERASE_BINARY()){
return REGISTER_APDU_ERASE_BINARY;
}else if(isInERASE_BINARY_RECEIVED()){
return ERASE_BINARY_RECEIVED;
}else if(isInREAD_BINARY_ODD_PROCESSED()){
return READ_BINARY_ODD_PROCESSED;
}else if(isInUPDATE_BINARY_ODD_PROCESSED()){
return UPDATE_BINARY_ODD_PROCESSED;
}else if(isInREAD_BINARY_RECEIVED()){
return READ_BINARY_RECEIVED;
}else if(isInUPDATE_BINARY_RECEIVED()){
return UPDATE_BINARY_RECEIVED;
}else if(isInREGISTER_APDU_UPDATE_BINARY()){
return REGISTER_APDU_UPDATE_BINARY;
}else if(isInREGISTER_APDU_UPDATE_BINARY_ODD()){
return REGISTER_APDU_UPDATE_BINARY_ODD;
}else if(isInERASE_BINARY_PROCESSED()){
return ERASE_BINARY_PROCESSED;
}else if(isInSELECT_FILE_RECEIVED()){
return SELECT_FILE_RECEIVED;
}else if(isInERASE_BINARY_ODD_RECEIVED()){
return ERASE_BINARY_ODD_RECEIVED;
}else if(isInUPDATE_BINARY_ODD_RECEIVED()){
return UPDATE_BINARY_ODD_RECEIVED;
}else if(isInREAD_BINARY_ODD_RECEIVED()){
return READ_BINARY_ODD_RECEIVED;
}else if(isInSELECT_FILE_PROCESSED()){
return SELECT_FILE_PROCESSED;
}else if(isInREGISTER_APDU_ERASE_BINARY_ODD()){
return REGISTER_APDU_ERASE_BINARY_ODD;
}else if(isInREGISTER_APDU_READ_BINARY_ODD()){
return REGISTER_APDU_READ_BINARY_ODD;
}else if(isInREGISTER_APDU_SELECT_FILE()){
return REGISTER_APDU_SELECT_FILE;
}else if(isInERASE_BINARY_ODD_PROCESSED()){
return ERASE_BINARY_ODD_PROCESSED;
}else if(isInFM_INIT()){
return FM_INIT;
}else if(isInREAD_BINARY_PROCESSED()){
return READ_BINARY_PROCESSED;
}else if(isInUPDATE_BINARY_PROCESSED()){
return UPDATE_BINARY_PROCESSED;
}else if(isInERROR_HANDLING()){
return ERROR_HANDLING;
}else if(isInFM_COMPLETED()){
return FM_COMPLETED;
}else{
return __UNKNOWN_STATE__;
}
}
// Helper(s) to find out if the machine is in a certain state
public boolean isInUPDATE_BINARY_PROCESSED(){return (((stateVarFM_ANNOUNCED== UPDATE_BINARY_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInFM_ANNOUNCED(){return (((stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREAD_BINARY_PROCESSED(){return (((stateVarFM_ANNOUNCED== READ_BINARY_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInFM_INIT(){return (((stateVarFM_ANNOUNCED== FM_INIT)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInERASE_BINARY_ODD_PROCESSED(){return (((stateVarFM_ANNOUNCED== ERASE_BINARY_ODD_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREGISTER_APDU_SELECT_FILE(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_SELECT_FILE)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInFM_COMPLETED(){return (((stateVar== FM_COMPLETED)) ? (true) : (false));}
public boolean isInREGISTER_APDU_READ_BINARY_ODD(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_READ_BINARY_ODD)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInREGISTER_APDU_ERASE_BINARY_ODD(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_ERASE_BINARY_ODD)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInSELECT_FILE_PROCESSED(){return (((stateVarFM_ANNOUNCED== SELECT_FILE_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREAD_BINARY_ODD_RECEIVED(){return (((stateVarFM_ANNOUNCED== READ_BINARY_ODD_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInUPDATE_BINARY_ODD_RECEIVED(){return (((stateVarFM_ANNOUNCED== UPDATE_BINARY_ODD_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInERASE_BINARY_ODD_RECEIVED(){return (((stateVarFM_ANNOUNCED== ERASE_BINARY_ODD_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInSELECT_FILE_RECEIVED(){return (((stateVarFM_ANNOUNCED== SELECT_FILE_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInERASE_BINARY_PROCESSED(){return (((stateVarFM_ANNOUNCED== ERASE_BINARY_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREGISTER_APDU_UPDATE_BINARY_ODD(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_UPDATE_BINARY_ODD)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInERROR_HANDLING(){return (((stateVar== ERROR_HANDLING)) ? (true) : (false));}
public boolean isInREGISTER_APDUS(){return (((stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInREGISTER_APDU_UPDATE_BINARY(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_UPDATE_BINARY)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInUPDATE_BINARY_RECEIVED(){return (((stateVarFM_ANNOUNCED== UPDATE_BINARY_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREAD_BINARY_RECEIVED(){return (((stateVarFM_ANNOUNCED== READ_BINARY_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInUPDATE_BINARY_ODD_PROCESSED(){return (((stateVarFM_ANNOUNCED== UPDATE_BINARY_ODD_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREAD_BINARY_ODD_PROCESSED(){return (((stateVarFM_ANNOUNCED== READ_BINARY_ODD_PROCESSED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInERASE_BINARY_RECEIVED(){return (((stateVarFM_ANNOUNCED== ERASE_BINARY_RECEIVED)&&(stateVar== FM_ANNOUNCED)) ? (true) : (false));}
public boolean isInREGISTER_APDU_ERASE_BINARY(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_ERASE_BINARY)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
public boolean isInREGISTER_APDU_READ_BINARY(){return (((stateVarREGISTER_APDUS== REGISTER_APDU_READ_BINARY)&&(stateVar== REGISTER_APDUS)) ? (true) : (false));}
// Reinitialize the state machine
public void reInitialize(){
m_initialized=false;
initialize();
}
public void initialize(){
if(m_initialized==false){
m_initialized=true;
// Set state vars to default states
stateVar = REGISTER_APDUS; /* set init state of top state */
stateVarFM_ANNOUNCED = FM_INIT; /* set init state of FM_ANNOUNCED */
stateVarREGISTER_APDUS = REGISTER_APDU_SELECT_FILE; /* set init state of REGISTER_APDUS */
//call on entry code of default states
}
}
protected void defaultfileprotocolChangeToState(int state){
stateVar=state;
}
protected void defaultfileprotocolChangeToStateFM_ANNOUNCED(int state){
stateVarFM_ANNOUNCED = state;
}
protected void defaultfileprotocolChangeToStateREGISTER_APDUS(int state){
stateVarREGISTER_APDUS = state;
}
public int processEvent(int msg){
int evConsumed = 0;
if(m_initialized==false) return 0;
/* action code */
this.continueProcessing = true;
do{
evConsumed = 0;
switch (stateVar) {
case ERROR_HANDLING:
if(true){
/* Transition from ERROR_HANDLING to FM_ANNOUNCED */
evConsumed=16;
logs("INIT");
returnResult();
stateVar = FM_ANNOUNCED;/* Default in entry chain */
stateVarFM_ANNOUNCED = FM_INIT;/* Default in entry chain */
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case ERROR_HANDLING */
case FM_ANNOUNCED:
switch (stateVarFM_ANNOUNCED) {
case ERASE_BINARY_ODD_PROCESSED:
if(true){
/* Transition from ERASE_BINARY_ODD_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case ERASE_BINARY_ODD_PROCESSED */
case ERASE_BINARY_ODD_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from ERASE_BINARY_ODD_RECEIVED to ERASE_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_ODD_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from ERASE_BINARY_ODD_RECEIVED to ERASE_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_ODD_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case ERASE_BINARY_ODD_RECEIVED */
case ERASE_BINARY_PROCESSED:
if(true){
/* Transition from ERASE_BINARY_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case ERASE_BINARY_PROCESSED */
case ERASE_BINARY_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from ERASE_BINARY_RECEIVED to ERASE_BINARY_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from ERASE_BINARY_RECEIVED to ERASE_BINARY_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case ERASE_BINARY_RECEIVED */
case FM_INIT:
if(isAPDU("Erase Binary Odd")){
/* Transition from FM_INIT to ERASE_BINARY_ODD_RECEIVED */
evConsumed=16;
/* OnEntry code of state ERASE_BINARY_ODD_RECEIVED */
processCommandEraseBinaryOdd();
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_ODD_RECEIVED;
}else if(isAPDU("Erase Binary")){
/* Transition from FM_INIT to ERASE_BINARY_RECEIVED */
evConsumed=16;
/* OnEntry code of state ERASE_BINARY_RECEIVED */
processCommandEraseBinary();
/* adjust state variables */
stateVarFM_ANNOUNCED = ERASE_BINARY_RECEIVED;
}else if(isAPDU("Read Binary Odd")){
/* Transition from FM_INIT to READ_BINARY_ODD_RECEIVED */
evConsumed=16;
/* OnEntry code of state READ_BINARY_ODD_RECEIVED */
processCommandReadBinary();
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_ODD_RECEIVED;
}else if(isAPDU("Read Binary")){
/* Transition from FM_INIT to READ_BINARY_RECEIVED */
evConsumed=16;
/* OnEntry code of state READ_BINARY_RECEIVED */
logs("READ_BINARY_RECEIVED");
processCommandReadBinary();
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_RECEIVED;
}else if(isAPDU("Select File")){
/* Transition from FM_INIT to SELECT_FILE_RECEIVED */
evConsumed=16;
/* OnEntry code of state SELECT_FILE_RECEIVED */
processCommandSelectFile();
/* adjust state variables */
stateVarFM_ANNOUNCED = SELECT_FILE_RECEIVED;
}else if(isAPDU("Update Binary Odd")){
/* Transition from FM_INIT to UPDATE_BINARY_ODD_RECEIVED */
evConsumed=16;
/* OnEntry code of state UPDATE_BINARY_ODD_RECEIVED */
processCommandUpdateBinary();
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_ODD_RECEIVED;
}else if(isAPDU("Update Binary")){
/* Transition from FM_INIT to UPDATE_BINARY_RECEIVED */
evConsumed=16;
/* OnEntry code of state UPDATE_BINARY_RECEIVED */
logs("UPDATE BINARY RECEIVED");
processCommandUpdateBinary();
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_RECEIVED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case FM_INIT */
case READ_BINARY_ODD_PROCESSED:
if(true){
/* Transition from READ_BINARY_ODD_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case READ_BINARY_ODD_PROCESSED */
case READ_BINARY_ODD_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from READ_BINARY_ODD_RECEIVED to READ_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_ODD_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from READ_BINARY_ODD_RECEIVED to READ_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_ODD_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case READ_BINARY_ODD_RECEIVED */
case READ_BINARY_PROCESSED:
if(true){
/* Transition from READ_BINARY_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case READ_BINARY_PROCESSED */
case READ_BINARY_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from READ_BINARY_RECEIVED to READ_BINARY_PROCESSED */
evConsumed=16;
/* OnEntry code of state READ_BINARY_PROCESSED */
logs("READ_BINARY_PROCESSED");
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from READ_BINARY_RECEIVED to READ_BINARY_PROCESSED */
evConsumed=16;
/* OnEntry code of state READ_BINARY_PROCESSED */
logs("READ_BINARY_PROCESSED");
/* adjust state variables */
stateVarFM_ANNOUNCED = READ_BINARY_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case READ_BINARY_RECEIVED */
case SELECT_FILE_PROCESSED:
if(true){
/* Transition from SELECT_FILE_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case SELECT_FILE_PROCESSED */
case SELECT_FILE_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from SELECT_FILE_RECEIVED to SELECT_FILE_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = SELECT_FILE_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case SELECT_FILE_RECEIVED */
case UPDATE_BINARY_ODD_PROCESSED:
if(true){
/* Transition from UPDATE_BINARY_ODD_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case UPDATE_BINARY_ODD_PROCESSED */
case UPDATE_BINARY_ODD_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from UPDATE_BINARY_ODD_RECEIVED to UPDATE_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_ODD_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from UPDATE_BINARY_ODD_RECEIVED to UPDATE_BINARY_ODD_PROCESSED */
evConsumed=16;
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_ODD_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case UPDATE_BINARY_ODD_RECEIVED */
case UPDATE_BINARY_PROCESSED:
if(true){
/* Transition from UPDATE_BINARY_PROCESSED to FM_COMPLETED */
evConsumed=16;
/* OnEntry code of state FM_COMPLETED */
returnResult();
/* adjust state variables */
stateVar = FM_COMPLETED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case UPDATE_BINARY_PROCESSED */
case UPDATE_BINARY_RECEIVED:
if(isStatusWord(SW_9000_NO_ERROR)){
/* Transition from UPDATE_BINARY_RECEIVED to UPDATE_BINARY_PROCESSED */
evConsumed=16;
/* OnEntry code of state UPDATE_BINARY_PROCESSED */
logs("UPDATE BINARY PROCESSED");
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_PROCESSED;
}else if(isStatusWord_63CX_Counter()){
/* Transition from UPDATE_BINARY_RECEIVED to UPDATE_BINARY_PROCESSED */
evConsumed=16;
/* OnEntry code of state UPDATE_BINARY_PROCESSED */
logs("UPDATE BINARY PROCESSED");
/* adjust state variables */
stateVarFM_ANNOUNCED = UPDATE_BINARY_PROCESSED;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case UPDATE_BINARY_RECEIVED */
default:
/* Intentionally left blank */
break;
} /* end switch FM_ANNOUNCED */
/* Check if event was already processed */
if(evConsumed==0){
if(true){
/* Transition from FM_ANNOUNCED to ERROR_HANDLING */
evConsumed=16;
/* adjust state variables */
stateVar = ERROR_HANDLING;
}else{
/* Intentionally left blank */
} /*end of event selection */
}
break; /* end of case FM_ANNOUNCED */
case FM_COMPLETED:
if(true){
/* Transition from FM_COMPLETED to FM_INIT */
evConsumed=16;
/* OnEntry code of state FM_INIT */
logs("INIT");
returnResult();
/* adjust state variables */
stateVar = FM_ANNOUNCED;
stateVarFM_ANNOUNCED = FM_INIT;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case FM_COMPLETED */
case REGISTER_APDUS:
switch (stateVarREGISTER_APDUS) {
case REGISTER_APDU_ERASE_BINARY:
/* action code */
createNewApduSpecification("Erase Binary");
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_0E_ERASE_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_ERASE_BINARY to REGISTER_APDU_ERASE_BINARY_ODD */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_ERASE_BINARY_ODD;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_ERASE_BINARY */
case REGISTER_APDU_ERASE_BINARY_ODD:
/* action code */
createNewApduSpecification("Erase Binary Odd");
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_0F_ERASE_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_ERASE_BINARY_ODD to FM_ANNOUNCED */
evConsumed=16;
logs("INIT");
returnResult();
stateVar = FM_ANNOUNCED;/* Default in entry chain */
stateVarFM_ANNOUNCED = FM_INIT;/* Default in entry chain */
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_SELECT_FILE;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_ERASE_BINARY_ODD */
case REGISTER_APDU_READ_BINARY:
/* action code */
createNewApduSpecification("Read Binary");
apduSpecification.setInitialAPDU(true);
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_B0_READ_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_READ_BINARY to REGISTER_APDU_READ_BINARY_ODD */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_READ_BINARY_ODD;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_READ_BINARY */
case REGISTER_APDU_READ_BINARY_ODD:
/* action code */
createNewApduSpecification("Read Binary Odd");
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_B1_READ_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_READ_BINARY_ODD to REGISTER_APDU_UPDATE_BINARY */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_UPDATE_BINARY;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_READ_BINARY_ODD */
case REGISTER_APDU_SELECT_FILE:
/* action code */
createNewApduSpecification("Select File");
apduSpecification.setInitialAPDU(true);
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_A4_SELECT);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_SELECT_FILE to REGISTER_APDU_READ_BINARY */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_READ_BINARY;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_SELECT_FILE */
case REGISTER_APDU_UPDATE_BINARY:
/* action code */
createNewApduSpecification("Update Binary");
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_D6_UPDATE_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_UPDATE_BINARY to REGISTER_APDU_UPDATE_BINARY_ODD */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_UPDATE_BINARY_ODD;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_UPDATE_BINARY */
case REGISTER_APDU_UPDATE_BINARY_ODD:
/* action code */
createNewApduSpecification("Update Binary Odd");
apduSpecification.setIsoFormat(ISO_FORMAT_FIRSTINTERINDUSTRY);
apduSpecification.setReqIsoCase(REQ_OPTIONAL);
apduSpecification.setReqP1(REQ_OPTIONAL);
apduSpecification.setReqP2(REQ_OPTIONAL);
apduSpecification.setIns(INS_D7_UPDATE_BINARY);
registerApduSpecification(apduSpecification);
if(true){
/* Transition from REGISTER_APDU_UPDATE_BINARY_ODD to REGISTER_APDU_ERASE_BINARY */
evConsumed=16;
/* adjust state variables */
stateVarREGISTER_APDUS = REGISTER_APDU_ERASE_BINARY;
}else{
/* Intentionally left blank */
} /*end of event selection */
break; /* end of case REGISTER_APDU_UPDATE_BINARY_ODD */
default:
/* Intentionally left blank */
break;
} /* end switch REGISTER_APDUS */
break; /* end of case REGISTER_APDUS */
default:
/* Intentionally left blank */
break;
} /* end switch stateVar_root */
/* Post Action Code */
} while (this.continueProcessing);
return evConsumed;
}
}