Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

AlephManager.h

Go to the documentation of this file.
00001 
00002 //
00003 //  Class AlephManager
00004 //
00005 //  The Base Class for an AlephManager (IO, DB, EXE,...)
00006 //  no instances of this class can be created
00007 //
00008 //  Author : G. Dissertori  ,  02.11.98
00009 //
00011 
00012 
00013 #ifndef ALEPHMANAGER_H
00014 #define ALEPHMANAGER_H
00015 
00016 #include <string>
00017 #include "AlephSession.h"
00018 
00019 
00020 // status info
00021 enum AlephStatus { CREATED , INITIALIZED , RUNNING , 
00022                    TERMINATED ,  DELETED , UNKNOWN  };
00023 
00024 
00026 class AlephManager {
00027 
00028 public:
00029 
00030 //
00031 // first the purely virtual functions
00032 //
00034   virtual AlephRC initialize() = 0; 
00035 
00037   virtual AlephRC terminate() = 0; 
00038 
00039 
00040 //
00041 // now  the non-purely virtual functions
00042 //
00043 
00045   virtual ~AlephManager() {};
00046 
00048   void AlephManagerSetup(const string& aManagerType);
00049 
00051   void AlephManagerShutDown();
00052 
00054   virtual AlephSession* alephSession() const;
00055 
00056 
00057 // monitoring
00059   virtual string managerType() const;
00060 
00062   virtual void setStatus(const AlephStatus& statusNow);
00063 
00065   virtual AlephStatus status() const;
00066 
00067 
00068 private:
00069 
00070 // the character string describing the manager type
00071   string _thisManagerType;
00072 
00073 // pointer to the session
00074   AlephSession* _theSession;
00075 
00076 
00077 // monitoring
00078   AlephStatus _theStatus;
00079 
00080 };
00081 
00082 
00083 
00084 
00085 
00086 #endif

Generated at Wed Jun 18 17:19:09 2003 for ALPHA++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001