Exécution d'un processus discret


o ExecProcess
Le corps, affecté par SetExec, réalise l'effet du processus sur les composants du système touchés par le processus. .

void myDiscreteProcess_execProcess_Body(ProcessMethod* pM) {
  DiscreteProcess* pDP = pM->DescribedDiscreteProcess();
  Entity* pE = pDP->ProcessedEntity();
  ... // l'effet du processus
}
MyDiscreteProcess::MyDiscreteProcess() 
   : DiscreteProcess(MY_DISCRETE_PROCESS, "myDiscreteProcess") {
  ProcessedEntityClassId(BD_ENTITY);
  SetExec(myDiscreteProcess_execProcess_Body);
};

Le constructeur ExecProcess() affecte le symbole de classe EXEC_PROCESS et le nom de classe "execProcess". Ainsi, on peut écrire :

int main(...) {
  ...
  DiscreteProcess* pDP = new MyDiscreteProcess();

  // le code ci-dessous ...
  Method* pM = pDP->GetMethod(EXEC_PROCESS);
  ((VoidProcessMethod*)pM)->Body((ProcessMethod*)pM);

  // ... est équivalent à celui-ci
  pDP->ExecVoidMethod(EXEC_PROCESS);
  ...
}

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