]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - SHUTTLE/AliShuttleTrigger.h
Usage of the new GRP-manager code in AliEVE event manager (M+C)
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleTrigger.h
index 143cf4c5937dcb183a7752349562dc1ba6a7a08a..4a1fb66d3f399a92647ddb345b4a9f8cd05e2dbf 100644 (file)
@@ -9,6 +9,7 @@
 //
 // This class is to deal with DAQ LogBook and DAQ end run notification.
 // It executes AliShuttle for retrieval of conditions data.
+// For more info see AliShuttleTrigger.cxx
 //
 
 #include <TObject.h>
@@ -17,7 +18,6 @@
 #include <TCondition.h>
 
 
-class AliCDBStorage;
 class AliShuttle;
 class AliShuttleConfig;
 
@@ -26,68 +26,58 @@ class DATENotifier;
 
 class TerminateSignalHandler: public TSignalHandler {
        
-       AliShuttleTrigger* fTrigger;
 public:
+       TerminateSignalHandler(): TSignalHandler((ESignals) 0,0), fTrigger(0) { }
        TerminateSignalHandler(AliShuttleTrigger* trigger, ESignals signal):
-               TSignalHandler(signal, kFALSE), fTrigger(trigger) {}
+       TSignalHandler(signal, kFALSE), fTrigger(trigger) {}
 
+       virtual ~TerminateSignalHandler() { }
        virtual Bool_t Notify();
 
+private:
+       TerminateSignalHandler(const TerminateSignalHandler& other);
+       TerminateSignalHandler& operator= (const TerminateSignalHandler& other);
+  
+       AliShuttleTrigger* fTrigger;  // pointer to the current AliShuttleTrigger
+
        ClassDef(TerminateSignalHandler, 0)
 };
 
 class AliShuttleTrigger: public TObject {
+
 public:
-       AliShuttleTrigger(const AliShuttleConfig* config,
-                       AliCDBStorage* storage, UInt_t timeout = 5000,
-                       Int_t retries = 5);
+       AliShuttleTrigger(const AliShuttleConfig* config);
        ~AliShuttleTrigger();
 
        AliShuttle* GetShuttle() {return fShuttle;}
 
-       Bool_t Collect(Int_t run);
-       Bool_t CollectNew();
-       Bool_t CollectAll();
-       
+       Bool_t Collect(Int_t run = -1);
+
        virtual Bool_t Notify();
        void Terminate();
 
        void Run();
 
 private:
+       AliShuttleTrigger(const AliShuttleTrigger& other);
+       AliShuttleTrigger& operator= (const AliShuttleTrigger& other);
 
-       class DATEEntry: public TObject {
-               Int_t fRun;
-               UInt_t fStartTime;
-               UInt_t fEndTime;
-       public:
-               DATEEntry(Int_t run, UInt_t startTime, UInt_t endTime):
-                       fRun(run), fStartTime(startTime), fEndTime(endTime) {}
-
-               Int_t GetRun() {return fRun;}
-               UInt_t GetStartTime() {return fStartTime;}
-               UInt_t GetEndTime() {return fEndTime;}
-
-               ClassDef(DATEEntry, 0)
-       };
-
-       Bool_t RetrieveDATEEntries(const char* whereClause, TObjArray& entries,
-                       Int_t& lastRun);
-       Bool_t RetrieveConditionsData(const TObjArray& dateEntries);
+       Bool_t SendMailDiskSpace(Short_t percentage);
 
        const AliShuttleConfig* fConfig;
-       AliCDBStorage* fStorage;
 
-       AliShuttle* fShuttle;
+       AliShuttle* fShuttle;           // Pointer to the actual Shuttle instance
+
+       Bool_t fNotified;               // Notified flag
+       Bool_t fTerminate;              // Terminate flag
 
-       Bool_t fNotified;
-       Bool_t fTerminate;
+       TMutex fMutex;                  // Mutex
+       TCondition fCondition;          // Condition 
 
-       TMutex fMutex;
-       TCondition fCondition;
+       TerminateSignalHandler* fQuitSignalHandler;             // Quit signal
+       TerminateSignalHandler* fInterruptSignalHandler;        // Interrupt signal
 
-       TerminateSignalHandler fQuitSignalHandler;
-       TerminateSignalHandler fInterruptSignalHandler;
+       time_t fLastMailDiskSpace;       // timestamp when the last mail was sent
 
 
        ClassDef(AliShuttleTrigger, 0)