delphi_cb
 All Classes Namespaces Files Functions Variables Macros
interface_abstractmodule.h
Go to the documentation of this file.
1 
12 #ifndef IABSTRACTMODULE_H_
13 #define IABSTRACTMODULE_H_
14 
15 #include <iostream>
16 #include <memory>
17 
18 #include "environment.h"
20 
21 using namespace std;
22 
24 {
25  protected:
26  shared_ptr<IDataContainer> pdc;
27 
28  public:
32  IAbstractModule(shared_ptr<IDataContainer> pdcIn)
33  {
34  pdc = pdcIn;
35 
36 #ifdef DEBUG_OBJECT
37  cout << endl;
38  cout << "****************************************************************\n";
39  cout << "* IAbstractModule is constructed *\n";
40  cout << "****************************************************************\n";
41 #endif
42  };
43 
48  virtual ~IAbstractModule()
49  {
50 #ifdef DEBUG_OBJECT
51  cout << endl;
52  cout << "****************************************************************\n";
53  cout << "* IAbstractModule is destroyed *\n";
54  cout << "****************************************************************\n";
55 #endif
56  };
57 
61  virtual void run() = 0;
62 
66  virtual void validateInput() = 0;
67 };
68 
69 #endif // IABSTRACTMODULE_H_
virtual ~IAbstractModule()
Definition: interface_abstractmodule.h:48
IAbstractModule(shared_ptr< IDataContainer > pdcIn)
Definition: interface_abstractmodule.h:32
pre-processor marco's used for compiling the code
Definition: interface_abstractmodule.h:23
interface IDataContainer