1 #ifndef ALI_DCS_CLIENT_H
2 #define ALI_DCS_CLIENT_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 // This class represents the AliDCSClient.
11 // The client used for data retrieval from DCS server.
12 // For more info see AliDCSClient.cxx
15 #include "AliDCSMessage.h"
21 class AliDCSClient: public TObject {
24 friend class AliShuttle;
26 AliDCSClient(const char* host, Int_t port, UInt_t timeout = 5000,
28 virtual ~AliDCSClient();
31 Int_t GetDPValues(const char* dpName, UInt_t startTime, UInt_t endTime,
34 Int_t GetAliasValues(const char* alias, UInt_t startTime,
35 UInt_t endTime, TObjArray& result);
37 Int_t GetDPValues(UInt_t startTime, UInt_t endTime, TMap& result);
39 Int_t GetAliasValues(UInt_t startTime, UInt_t endTime, TMap& result);
42 AliDCSMessage::ErrorCode GetServerErrorCode() const
43 { return fServerErrorCode;};
45 const TString& GetServerError() const {return fServerError;};
53 static const char* GetErrorString(Int_t code);
57 static const Int_t fgkBadState = -1; // Bad state
58 static const Int_t fgkInvalidParameter = -2; // Invalid parameter
59 static const Int_t fgkTimeout = -3; // Timeout
60 static const Int_t fgkBadMessage = -4; // Bad message
61 static const Int_t fgkCommError = -5; // Communication error
62 static const Int_t fgkServerError = -6; // Server error
64 static const char* fgkBadStateString; // Bad state string
65 static const char* fgkInvalidParameterString; // Invalid parameter string
66 static const char* fgkTimeoutString; // Timeout string
67 static const char* fgkBadMessageString; // Bad message string
68 static const char* fgkCommErrorString; // Communication error string
69 static const char* fgkServerErrorString; // Server error string
71 AliDCSClient(const AliDCSClient& other);
72 AliDCSClient& operator= (const AliDCSClient& other);
74 TSocket* fSocket; // Pointer to the TCP socket client
76 UInt_t fTimeout; // timeout parameter
78 Int_t fRetries; // number of retries
80 AliDCSMessage::ErrorCode fServerErrorCode; // error code
82 TString fServerError; // server error string
85 Int_t SendBuffer(const char* buffer, Int_t size);
87 Int_t ReceiveBuffer(char* buffer, Int_t size);
89 Int_t SendMessage(AliDCSMessage& message);
91 Int_t ReceiveMessage(AliDCSMessage& message);
93 Int_t GetValues(AliDCSMessage::RequestType requestType,
94 const char* requestString, UInt_t startTime, UInt_t endTime,
97 Int_t GetValues(AliDCSMessage::RequestType requestType,
98 UInt_t startTime, UInt_t endTime, TMap& result);
100 Int_t ReceiveValueSet(TObjArray& result);
103 ClassDef(AliDCSClient, 0);