Main Page   Class Hierarchy   Compound List   File List   Compound Members  

mapplic.h

00001 #ifndef __APPLIC_H__
00002 #define __APPLIC_H__
00003 
00004 #include "magic/mobject.h"
00005 #include "magic/mclass.h"
00006 #include "magic/mmap.h"
00007 
00009 //                                                                          //
00010 //               _             | o                 o                        //
00011 //              / \   --   --  |    ___   ___   |           _               //
00012 //             /   \ |  ) |  ) | | |   \  ___| -+- |  __  |/ \              //
00013 //             |---| |--  |--  | | |     (   |  |  | /  \ |   |             //
00014 //             |   | |    |    | |  \__/  \__|   \ | \__/ |   |             //
00015 //                                                                          //
00017 
00018 int main (int argc, char** argv);
00019 
00028 class Application : public Object {
00029     decl_dynamic (Application);
00030   protected:
00031     Array<String>   mParams;
00032     StringMap       mParamMap;
00033     int             mArgc;
00034     char**          mArgv;
00035     int             mTried;
00036 
00037   public:
00038                         Application () : mTried (0) {}
00039 
00045     virtual void        main        (const Array<String>& params) {mTried++;}
00046 
00049     virtual void        main        () {mTried++;}
00050 
00053     void                readConfig  (const String& filename);
00054 
00057     const StringMap&    paramMap    () const {return mParamMap;}
00058 
00061     const Array<String>& params     () const {return mParams;}
00062     
00063     void                setParams   (int argc, char** argv);
00064 
00065   private:
00066     int                 getTried    () const {return mTried;}
00067 };
00068 
00074 #define Main()\
00075 class MainClass : public Application {\
00076     decl_dynamic (MainClass);\
00077   public:\
00078     void main ();\
00079 };\
00080 impl_dynamic (MainClass, "{Application}");\
00081 void MainClass::main ()
00082 
00083 extern CClass* appclass;
00084 
00085 #endif

Generated at Tue Dec 4 19:53:24 2001 for MagiC++ by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001