ILauncher.h
1 
27 #ifndef COSMO_LAUNCHER_INTERFACE_H
28 #define COSMO_LAUNCHER_INTERFACE_H
29 
30 #include <Pt/Cosmo/Api.h>
31 #include <Pt/Cosmo/IUnknown.h>
32 
33 namespace Pt {
34 
35 namespace Cosmo {
36 
46 class ILauncher : public IUnknown
47 {
48  public:
51  void launch()
52  {
53  onLaunch();
54  }
55 
58  void exit()
59  {
60  onExit();
61  }
62 
63  protected:
66  virtual void onLaunch() = 0;
67 
70  virtual void onExit() = 0;
71 };
72 
73 } // namespace Cosmo
74 
75 } // namespace Pt
76 
77 #endif // include guard
Core module.
Definition: Allocator.h:33
Launcher strategy interface.
Definition: ILauncher.h:47
virtual void onLaunch()=0
Called to start the launcher.
Interface base class.
Definition: IUnknown.h:44
void launch()
Starts the launcher.
Definition: ILauncher.h:51
void exit()
Requests the launcher to exit.
Definition: ILauncher.h:58
virtual void onExit()=0
Called to exit the launcher.