Précondition d'un processus


o ProcessPrecondition
Le corps, affecté par SetPrecondition, code la précondition du processus.

int myContinuousProcess_processPrecondition_Body(ProcessMethod*) pM) {
  result = 1;
  ContinuousProcess* pCP = pM->DescribedContinuousProcess();
  Entity* pE = pCP->ProcessedEntity();
  ... // valuation de result à 1 (précondition satisfaite) ou à 0
  return result;
}
MyContinuousProcess::MyContinuousProcess() 
   : ContinuousProcess(MY_CONTINUOUS_PROCESS, "myContinuousProcess") {
  Step(24);
  ProcessedEntityClassId(BD_ENTITY);
  SetPrecondition(myContinuousProcess_processPrecondition_Body);
};

Le constructeur ProcessPrecondition() affecte le symbole de classe PROCESS_PRECONDITION et le nom de classe "processPrecondition". Ainsi, on peut écrire :

int main(...) {
  ...
  ContinuousProcess* pCP = new MyContinuousProcess();
  int preConditionValue;

  // le code ci-dessous ...
  Method* pM = pCP->GetMethod(PROCESS_PRECONDITION );
  preConditionValue = ((IntProcessMethod*)pM)->Body((ProcessMethod*)pM);

  // ... est équivalent à celui-ci
  preConditionValue = pCP->ExecIntMethod(PROCESS_PRECONDITION);
  ...
}

This page was generated with the help of DOC++.