]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataSink.cxx
coverity fix
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataSink.cxx
index 6e93dd327675f49d5c8621bcac5eb1717cf719da..03d4df6da260c199bcc9db22efbbed3fbe3420d7 100644 (file)
@@ -1,28 +1,26 @@
 // $Id$
 
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Authors: Matthias Richter <Matthias.Richter@ift.uib.no>                *
- *          for The ALICE Off-line Project.                               *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/** @file   AliHLTDataSink.cxx
-    @author Matthias Richter
-    @date   
-    @brief  Base class implementation for HLT data source components. */
-
-#if __GNUC__>= 3
-using namespace std;
-#endif
+//**************************************************************************
+//* This file is property of and copyright by the                          * 
+//* ALICE Experiment at CERN, All rights reserved.                         *
+//*                                                                        *
+//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
+//*                  for The ALICE HLT Project.                            *
+//*                                                                        *
+//* Permission to use, copy, modify and distribute this software and its   *
+//* documentation strictly for non-commercial purposes is hereby granted   *
+//* without fee, provided that the above copyright notice appears in all   *
+//* copies and that both the copyright notice and this permission notice   *
+//* appear in the supporting documentation. The authors make no claims     *
+//* about the suitability of this software for any purpose. It is          *
+//* provided "as is" without express or implied warranty.                  *
+//**************************************************************************
+
+/// @file   AliHLTDataSink.cxx
+/// @author Matthias Richter
+/// @date   
+/// @brief  Base class implementation for HLT data source components.
+///
 
 #include "AliHLTDataSink.h"
 
@@ -31,30 +29,67 @@ ClassImp(AliHLTDataSink)
 
 AliHLTDataSink::AliHLTDataSink()
 { 
+  // Base class of HLT data sink components.
+  // The class provides a common interface for the implementation of HLT data
+  // sink components.
+  // Sink components do not produce any output consequently the processing
+  // function is called 'DumpEvent'.
 }
 
 AliHLTDataSink::~AliHLTDataSink()
 { 
+  // destructor
+}
+
+AliHLTComponentDataType AliHLTDataSink::GetOutputDataType()
+{
+  // default method as sink components do not produce output
+  AliHLTComponentDataType dt =
+    {sizeof(AliHLTComponentDataType),
+     kAliHLTVoidDataTypeID,
+     kAliHLTVoidDataOrigin};
+  return dt;
+}
+
+void AliHLTDataSink::GetOutputDataSize( unsigned long& constBase, double& inputMultiplier )
+{
+  // default method as sink components do not produce output
+  constBase=0;
+  inputMultiplier=0;
 }
 
-int AliHLTDataSink::ProcessEvent( const AliHLTComponentEventData& evtData,
-                                   const AliHLTComponentBlockData* blocks, 
-                                   AliHLTComponentTriggerData& trigData,
-                                   AliHLTUInt8_t* outputPtr, 
-                                   AliHLTUInt32_t& size,
-                                   AliHLTUInt32_t& outputBlockCnt, 
-                                   AliHLTComponentBlockData*& outputBlocks,
-                                   AliHLTComponentEventDoneData*& edd )
+int AliHLTDataSink::DoProcessing( const AliHLTComponentEventData& evtData,
+                                 const AliHLTComponentBlockData* blocks, 
+                                 AliHLTComponentTriggerData& trigData,
+                                 AliHLTUInt8_t* outputPtr, 
+                                 AliHLTUInt32_t& size,
+                                 AliHLTComponentBlockDataList& outputBlocks,
+                                 AliHLTComponentEventDoneData*& edd )
 {
+  // Processing method, calls child's DumpEvent
   int iResult=0;
   if (outputPtr==NULL
       && size==0 
-      && outputBlockCnt==0 
-      && outputBlocks==NULL
       && edd==NULL) {
     // this is currently just to get rid of the warning "unused parameter"
   }
-  vector<AliHLTComponentBlockData> blockData;
+  outputBlocks.clear();
   iResult=DumpEvent(evtData, blocks, trigData);
   return iResult;
 }
+
+int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& evtData,
+                              const AliHLTComponentBlockData* /*blocks*/, 
+                              AliHLTComponentTriggerData& trigData )
+{
+  // we just forward to the high level method, all other parameters already
+  // have been stored internally
+  return DumpEvent(evtData, trigData);
+}
+
+int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
+{
+  // default method: one of DumpEvent methods must be implemented
+  HLTFatal("no processing method implemented");
+  return -ENOSYS;
+}