In ESDtoAOD: updating instead of creating new AliAODHeader.
[u/mrichter/AliRoot.git] / SHUTTLE / DCSClient / AliDCSClient.h
CommitLineData
73abe331 1#ifndef ALI_DCS_CLIENT_H
2#define ALI_DCS_CLIENT_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//
10// This class represents the AliDCSClient.
11// The client used for data retrieval from DCS server.
58bc3020 12// For more info see AliDCSClient.cxx
73abe331 13//
14
15#include "AliDCSMessage.h"
16
d477ad88 17class TObjArray;
58bc3020 18class TSocket;
73abe331 19class TMap;
20
21class AliDCSClient: public TObject {
22public:
2bb7b766 23
eba76848 24 enum {
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
31 };
32
58bc3020 33 friend class AliShuttle;
2bb7b766 34
73abe331 35 AliDCSClient(const char* host, Int_t port, UInt_t timeout = 5000,
36 Int_t retries = 5);
37 virtual ~AliDCSClient();
38
39
40 Int_t GetDPValues(const char* dpName, UInt_t startTime, UInt_t endTime,
2bb7b766 41 TObjArray* result);
73abe331 42
43 Int_t GetAliasValues(const char* alias, UInt_t startTime,
2bb7b766 44 UInt_t endTime, TObjArray* result);
73abe331 45
46 Int_t GetDPValues(UInt_t startTime, UInt_t endTime, TMap& result);
47
48 Int_t GetAliasValues(UInt_t startTime, UInt_t endTime, TMap& result);
49
50
58bc3020 51 AliDCSMessage::ErrorCode GetServerErrorCode() const
73abe331 52 { return fServerErrorCode;};
53
58bc3020 54 const TString& GetServerError() const {return fServerError;};
73abe331 55
56
57 Bool_t IsConnected();
58
59 void Close();
60
61
62 static const char* GetErrorString(Int_t code);
63
64private:
58bc3020 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
71
2bb7b766 72 AliDCSClient(const AliDCSClient& other);
73 AliDCSClient& operator= (const AliDCSClient& other);
58bc3020 74
75 TSocket* fSocket; // Pointer to the TCP socket client
2bb7b766 76
58bc3020 77 UInt_t fTimeout; // timeout parameter
73abe331 78
58bc3020 79 Int_t fRetries; // number of retries
2bb7b766 80
58bc3020 81 AliDCSMessage::ErrorCode fServerErrorCode; // error code
2bb7b766 82
58bc3020 83 TString fServerError; // server error string
73abe331 84
85
86 Int_t SendBuffer(const char* buffer, Int_t size);
87
88 Int_t ReceiveBuffer(char* buffer, Int_t size);
89
90 Int_t SendMessage(AliDCSMessage& message);
91
2bb7b766 92 Int_t ReceiveMessage(AliDCSMessage& message);
73abe331 93
94 Int_t GetValues(AliDCSMessage::RequestType requestType,
95 const char* requestString, UInt_t startTime, UInt_t endTime,
2bb7b766 96 TObjArray* result);
97
73abe331 98 Int_t GetValues(AliDCSMessage::RequestType requestType,
99 UInt_t startTime, UInt_t endTime, TMap& result);
100
2bb7b766 101 Int_t ReceiveValueSet(TObjArray* result);
73abe331 102
103
104 ClassDef(AliDCSClient, 0);
105};
106
107#endif