IMain.h
1 
27 #ifndef COSMO_IMAIN_H
28 #define COSMO_IMAIN_H
29 
30 #include <Pt/Cosmo/Api.h>
31 #include <Pt/Cosmo/Component.h>
32 
33 namespace Pt {
34 
35 namespace Cosmo {
36 
44 class IMain : public IUnknown
45 {
46  public:
49  int& argc() const
50  { return onGetArgc(); }
51 
54  char** argv() const
55  { return onGetArgv(); }
56 
57  protected:
60  virtual int& onGetArgc() const = 0;
61 
64  virtual char** onGetArgv() const = 0;
65 };
66 
67 } // namespace Cosmo
68 
69 } // namespace Pt
70 
71 #endif // include guard
Core module.
Definition: Allocator.h:33
int & argc() const
Returns the number of command line arguments.
Definition: IMain.h:49
Main program interface.
Definition: IMain.h:45
Interface base class.
Definition: IUnknown.h:44
char ** argv() const
Returns the command line argument array.
Definition: IMain.h:54
virtual char ** onGetArgv() const =0
Command line arguments.
virtual int & onGetArgc() const =0
Number of command line arguments.