PlasCom2  1.0
XPACC Multi-physics simluation application
include/Application.H
Go to the documentation of this file.
1 #ifndef __APPLICATION_H__
2 #define __APPLICATION_H__
3 
4 #include <iostream>
5 
6 namespace application {
7 
8  class base {
9  public:
10  // Every application must have these functions
11  virtual int ConfigureApplication() = 0;
12  virtual int RunApplication() = 0;
13  virtual int InitializeApplication() = 0;
14  virtual int FinalizeApplication() = 0;
15  };
16 
17  template<typename ApplicationType>
18  int ApplicationDriver(ApplicationType &simulationApplication)
19  {
20  int returnCode = 0;
21 
22  returnCode = simulationApplication.InitializeApplication();
23  if(returnCode)
24  return(returnCode);
25 
26  returnCode = simulationApplication.ConfigureApplication();
27  if(returnCode){
28  return(returnCode);
29  }
30 
31  int runCode = simulationApplication.RunApplication();
32  if(runCode){
33  return(runCode);
34  }
35 
36  int finalCode = simulationApplication.FinalizeApplication();
37  return(finalCode);
38  }
39 
40 }
41 #endif
virtual int InitializeApplication()=0
virtual int ConfigureApplication()=0
virtual int FinalizeApplication()=0
int ApplicationDriver(ApplicationType &simulationApplication)
virtual int RunApplication()=0