X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=HLT%2FBASE%2FAliHLT_C_Component_WrapperInterface.h;h=14448c69ea21588e07e6b2c3ab717b246f270d15;hp=566eeb4b214c0d1e884640ec7dc9f1d0ccd7195e;hb=579d9eb79be7cb4575ff09392324e47da4a81e12;hpb=f23a6e1a4d37f895e3e5f6693ccfd7060e55ae4b
diff --git a/HLT/BASE/AliHLT_C_Component_WrapperInterface.h b/HLT/BASE/AliHLT_C_Component_WrapperInterface.h
index 566eeb4b214..14448c69ea2 100644
--- a/HLT/BASE/AliHLT_C_Component_WrapperInterface.h
+++ b/HLT/BASE/AliHLT_C_Component_WrapperInterface.h
@@ -5,30 +5,118 @@
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* AliHLT_C_Component_WrapperInterface
- pure C interface to the AliRoot HLT component handler
- utilized by the HLT PubSub Framework
+/** @file AliHLT_C_Component_WrapperInterface.h
+ @author Matthias Richter, Timm Steinbeck
+ @date
+ @brief Pure C interface to the AliRoot HLT component handler
+ @note Utilized by the HLT Online (PubSub) framework
+*/
+
+/**
+ * @defgroup alihlt_wrapper_interface The HLT wrapper interface
+ * The wrapper interface is a pure C interface which allows to use the
+ * analysis components in external applications. The interface is utilized
+ * to bind the analysis code to the PubSub framework.
+ *
+ * \image html PubSub_WrapperComponent.png "Wrapper interface"
+ *
+ * CDB handling: The interface initializes the CDB from the path found
+ * in the environment variable ALIHLT_HCDBDIR. Default path is
+ * $ALICE_ROOT.
*/
#include
+/* Matthias Dec 2006
+ * The names have been changed for Aliroot's coding conventions sake
+ * The old names are defined for backward compatibility with the
+ * PublisherSubscriber framework
+ */
+typedef AliHLTComponentLogSeverity AliHLTComponent_LogSeverity;
+typedef AliHLTComponentEventData AliHLTComponent_EventData;
+typedef AliHLTComponentShmData AliHLTComponent_ShmData;
+typedef AliHLTComponentDataType AliHLTComponent_DataType;
+typedef AliHLTComponentBlockData AliHLTComponent_BlockData;
+typedef AliHLTComponentTriggerData AliHLTComponent_TriggerData;
+typedef AliHLTComponentEventDoneData AliHLTComponent_EventDoneData;
+const AliHLTUInt32_t gkAliHLTComponent_InvalidShmType = gkAliHLTComponentInvalidShmType;
+const AliHLTUInt64_t gkAliHLTComponent_InvalidShmID = gkAliHLTComponentInvalidShmID;
+#ifdef __cplusplus
extern "C" {
+#endif
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
typedef void* AliHLTComponentHandle;
- const AliHLTComponentHandle kEmptyHLTComponentHandle = 0;
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
+const AliHLTComponentHandle kEmptyHLTComponentHandle = 0;
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
int AliHLT_C_Component_InitSystem( AliHLTComponentEnvironment* environ );
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
int AliHLT_C_Component_DeinitSystem();
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
int AliHLT_C_Component_LoadLibrary( const char* libraryPath );
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
int AliHLT_C_Component_UnloadLibrary( const char* libraryPath );
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
int AliHLT_C_CreateComponent( const char* componentType, void* environ_param, int argc, const char** argv, AliHLTComponentHandle* handle );
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
void AliHLT_C_DestroyComponent( AliHLTComponentHandle );
-int AliHLT_C_ProcessEvent( AliHLTComponentHandle, AliHLTComponent_EventData evtData, AliHLTComponent_BlockData* blocks,
- AliHLTComponent_TriggerData trigData, AliHLTUInt8_t* outputPtr,
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
+int AliHLT_C_ProcessEvent( AliHLTComponentHandle handle, const AliHLTComponent_EventData* evtData, const AliHLTComponent_BlockData* blocks,
+ AliHLTComponent_TriggerData* trigData, AliHLTUInt8_t* outputPtr,
AliHLTUInt32_t* size, AliHLTUInt32_t* outputBlockCnt,
AliHLTComponent_BlockData** outputBlocks,
AliHLTComponent_EventDoneData** edd );
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
+int AliHLT_C_GetOutputDataType( AliHLTComponentHandle, AliHLTComponent_DataType* dataType );
+
+/**
+ *
+ * @ingroup alihlt_wrapper_interface
+ */
+int AliHLT_C_GetOutputSize( AliHLTComponentHandle, unsigned long* constBase, double* inputMultiplier );
+
+#ifdef __cplusplus
}
+#endif
#endif //ALIHLT_C_COMPONENT_WARAPPERINTERFACE_H