Additional patch for #80619: Missing protections in AliDCSValue::Getxxx
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 10 Jun 2011 14:59:43 +0000 (14:59 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 10 Jun 2011 14:59:43 +0000 (14:59 +0000)
STEER/AliDCSValue.cxx
STEER/AliDCSValue.h

index d2bc474..f9c14dc 100644 (file)
@@ -56,6 +56,7 @@ some more descriptions added
 //
 
 #include "AliDCSValue.h"
+#include "AliLog.h"
 
 #include "TTimeStamp.h"
 #include <TString.h>
@@ -251,3 +252,38 @@ void AliDCSValue::Print(Option_t* /*opt*/) const
 {
   printf("%s\n", ToString());
 }
+
+Bool_t AliDCSValue::GetBool() const
+{
+  // return bool value
+  if (fType!=kBool) AliError(Form("invalid request, object is not of type kBool (%d) but %d", kBool, fType));
+  return fBool;
+}
+
+Char_t AliDCSValue::GetChar() const
+{ 
+  // return char value
+  if (fType!=kChar) AliError(Form("invalid request, object is not of type kChar (%d) but %d", kChar, fType));
+  return fChar;
+}
+
+Int_t AliDCSValue::GetInt() const
+{
+  // return int value
+  if (fType!=kInt) AliError(Form("invalid request, object is not of type kInt (%d) but %d", kInt, fType));
+  return fInt;
+}
+
+UInt_t AliDCSValue::GetUInt() const
+{
+  // return uint value
+  if (fType!=kUInt) AliError(Form("invalid request, object is not of type kUInt (%d) but %d", kUInt, fType));
+  return fUInt;
+}
+
+Float_t AliDCSValue::GetFloat() const
+{
+  // return float value
+  if (fType!=kFloat) AliError(Form("invalid request, object is not of type kFloat (%d) but %d", kFloat, fType));
+  return fFloat;
+}
index 30eda9d..917ec91 100644 (file)
@@ -38,11 +38,11 @@ public:
   AliDCSValue(UInt_t value, UInt_t timeStamp);
   AliDCSValue(Float_t value, UInt_t timeStamp);
 
-  Bool_t GetBool() const { return fBool; }
-  Char_t GetChar() const { return fChar; }
-  Int_t GetInt() const { return fInt; }
-  UInt_t GetUInt() const { return fUInt; }
-  Float_t GetFloat() const { return fFloat; }
+  Bool_t GetBool() const;
+  Char_t GetChar() const;
+  Int_t GetInt() const;
+  UInt_t GetUInt() const;
+  Float_t GetFloat() const;
 
   operator Bool_t() const { return GetBool(); }
   operator Char_t() const { return GetChar(); }