a_applicationId = aid;
// Default behaviour:
- if (!getEngine()->selectStackWithApplicationId()) return;
+ if (!getEngine()->hasSelectStackWithApplicationId()) return;
// Adapts for Application-ID stack identifier:
getEngine()->setDictionary(aid);
U24 code = DECODE3BYTES_INDX_VALUETYPE(buffer, 5, U24);
- // This is called before setId, and in general before any operation which needs to know about the stack elements.
- setApplicationId(DECODE4BYTES_INDX_VALUETYPE(buffer, 8, U32)); // centralize set, because it could be used for stack selection.
+ a_id = CommandId(code, requestBit() /* based on a_flags */);
- setId(CommandId(code, requestBit() /* based on a_flags */));
+ setApplicationId(DECODE4BYTES_INDX_VALUETYPE(buffer, 8, U32)); // centralize set, because it could be used for stack selection.
a_hopByHop = DECODE4BYTES_INDX_VALUETYPE(buffer, 12, U32);
int i_aux;
unsigned int u_aux;
+ // Clear the message
+ clear();
+
if(version) {
i_aux = version->getIntegerValue();
}
// Application-id
- // This is called before setId, and in general before any operation which needs to know about the stack elements.
- setApplicationId(appid->getIntegerValue()); // this could set the dictionary...
+ // This is called before any operation which needs to know about the stack elements (this could set the dictionary)
+ setApplicationId(appid->getIntegerValue());
// Dictionary
const stack::Dictionary * dictionary = getEngine()->getDictionary();
throw anna::RuntimeException(msg, ANNA_FILE_LOCATION);
}
- setId(stackCommand->getId());
+ setId(stackCommand->getId(), false /* don't clear */);
// 'P', 'E' and 'T' flags:
bool activateP = pbit ? (pbit->getValue() == "yes") : false;
bool activateE = ebit ? (ebit->getValue() == "yes") : false;
a_flags = i_aux;
int flagsBCK = a_flags;
// Final assignments
- setId(CommandId(u_code, requestBit() /* based on a_flags */));
+ a_id = CommandId(u_code, requestBit() /* based on a_flags */);
// Flags could have been updated regarding dictionary, but during parsing we must respect xml file:
a_flags = flagsBCK;
}