- Implementing functions for the GRP preprocessor to retrieve DA output files from...
[u/mrichter/AliRoot.git] / SHUTTLE / DCSClient / AliDCSClient.h
index a019171..1bd347e 100644 (file)
@@ -17,6 +17,7 @@
 class TObjArray;
 class TSocket;
 class TMap;
+class TCollection;
 
 class AliDCSClient: public TObject {
 public:
@@ -27,13 +28,12 @@ public:
                fgkTimeout = -3,             // Timeout
                fgkBadMessage = -4,          // Bad message
                fgkCommError = -5,           // Communication error
-               fgkServerError = -6          // Server error
+               fgkServerError = -6,         // Server error
+               fgkUnknownDP = -7            // unknown alias/DP error
        };
        
-       friend class AliShuttle;
-
        AliDCSClient(const char* host, Int_t port, UInt_t timeout = 5000,
-                        Int_t retries = 5);
+                        Int_t retries = 5, Int_t multiSplit = 100);
         virtual ~AliDCSClient();
 
 
@@ -43,22 +43,21 @@ public:
         Int_t GetAliasValues(const char* alias, UInt_t startTime,
                                 UInt_t endTime, TObjArray* result);
 
-        Int_t GetDPValues(UInt_t startTime, UInt_t endTime, TMap& result);
-
-        Int_t GetAliasValues(UInt_t startTime, UInt_t endTime, TMap& result);
+        TMap* GetDPValues(const TSeqCollection* dpList, UInt_t startTime, UInt_t endTime, Int_t startIndex = 0, Int_t endIndex = -1);
 
+        TMap* GetAliasValues(const TSeqCollection* aliasList, UInt_t startTime, UInt_t endTime, Int_t startIndex = 0, Int_t endIndex = -1);
 
         AliDCSMessage::ErrorCode GetServerErrorCode() const
-                { return fServerErrorCode;};
+                { return fServerErrorCode;}
 
-        const TString& GetServerError() const {return fServerError;};
+       Int_t GetResultErrorCode() const {return fResultErrorCode;}
+        const TString& GetServerError() const {return fServerError;}
 
 
         Bool_t IsConnected();
 
         void Close();
 
-
         static const char* GetErrorString(Int_t code);
 
 private:
@@ -68,38 +67,38 @@ private:
        static const char* fgkBadMessageString;         // Bad message string
        static const char* fgkCommErrorString;          // Communication error string
        static const char* fgkServerErrorString;        // Server error string
-
-       AliDCSClient(const AliDCSClient& other);
-       AliDCSClient& operator= (const AliDCSClient& other);
+       static const char* fgkUnknownDPString;          // Unknown alias/DP string
 
        TSocket* fSocket;       // Pointer to the TCP socket client
-
+       TString fHost;          // server host
+       Int_t   fPort;          // server port
        UInt_t fTimeout;        // timeout parameter
-
        Int_t fRetries;         // number of retries
-
-       AliDCSMessage::ErrorCode fServerErrorCode;      // error code
-
+       Int_t   fMultiSplit; // number of datapoints that are queried at a time in a multi dp request, if set to 1 forces single requests 
+       AliDCSMessage::ErrorCode fServerErrorCode;      // server error code
        TString fServerError;   // server error string
+       
+       Int_t fResultErrorCode; // result error code
 
+       Bool_t Connect();
 
        Int_t SendBuffer(const char* buffer, Int_t size);
-
        Int_t ReceiveBuffer(char* buffer, Int_t size);
-
        Int_t SendMessage(AliDCSMessage& message);
-
        Int_t ReceiveMessage(AliDCSMessage& message);
 
        Int_t GetValues(AliDCSMessage::RequestType requestType,
                const char* requestString, UInt_t startTime, UInt_t endTime,
                TObjArray* result);
 
-       Int_t GetValues(AliDCSMessage::RequestType requestType,
-               UInt_t startTime, UInt_t endTime, TMap& result);
+       TMap* GetValues(AliDCSMessage::RequestType requestType,
+               const TSeqCollection* list, UInt_t startTime, UInt_t endTime,
+               Int_t startIndex, Int_t endIndex);
 
-       Int_t ReceiveValueSet(TObjArray* result);
+       Int_t ReceiveValueSet(TObjArray* result, Int_t& ownerIndex);
 
+       AliDCSClient(const AliDCSClient& other);                // not implemented
+       AliDCSClient& operator= (const AliDCSClient& other);    // not implemented
 
        ClassDef(AliDCSClient, 0);
 };