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 {
25 fgkBadState=-1, // Bad state
26 fgkInvalidParameter = -2, // Invalid parameter
27 fgkTimeout = -3, // Timeout
28 fgkBadMessage = -4, // Bad message
29 fgkCommError = -5, // Communication error
30 fgkServerError = -6 // Server error
33 friend class AliShuttle;
35 AliDCSClient(const char* host, Int_t port, UInt_t timeout = 5000,
37 virtual ~AliDCSClient();
40 Int_t GetDPValues(const char* dpName, UInt_t startTime, UInt_t endTime,
43 Int_t GetAliasValues(const char* alias, UInt_t startTime,
44 UInt_t endTime, TObjArray* result);
46 Int_t GetDPValues(UInt_t startTime, UInt_t endTime, TMap& result);
48 Int_t GetAliasValues(UInt_t startTime, UInt_t endTime, TMap& result);
51 AliDCSMessage::ErrorCode GetServerErrorCode() const
52 { return fServerErrorCode;};
54 const TString& GetServerError() const {return fServerError;};
62 static const char* GetErrorString(Int_t code);
65 static const char* fgkBadStateString; // Bad state string
66 static const char* fgkInvalidParameterString; // Invalid parameter string
67 static const char* fgkTimeoutString; // Timeout string
68 static const char* fgkBadMessageString; // Bad message string
69 static const char* fgkCommErrorString; // Communication error string
70 static const char* fgkServerErrorString; // Server error string
72 AliDCSClient(const AliDCSClient& other);
73 AliDCSClient& operator= (const AliDCSClient& other);
75 TSocket* fSocket; // Pointer to the TCP socket client
77 UInt_t fTimeout; // timeout parameter
79 Int_t fRetries; // number of retries
81 AliDCSMessage::ErrorCode fServerErrorCode; // error code
83 TString fServerError; // server error string
86 Int_t SendBuffer(const char* buffer, Int_t size);
88 Int_t ReceiveBuffer(char* buffer, Int_t size);
90 Int_t SendMessage(AliDCSMessage& message);
92 Int_t ReceiveMessage(AliDCSMessage& message);
94 Int_t GetValues(AliDCSMessage::RequestType requestType,
95 const char* requestString, UInt_t startTime, UInt_t endTime,
98 Int_t GetValues(AliDCSMessage::RequestType requestType,
99 UInt_t startTime, UInt_t endTime, TMap& result);
101 Int_t ReceiveValueSet(TObjArray* result);
104 ClassDef(AliDCSClient, 0);