+ /**
+ * Get a TObject from the data buffer
+ * @return TObject pointer if data block is a streamed object
+ */
+ TObject* GetDataObject();
+
+ /**
+ * Release data object
+ */
+ int ReleaseDataObject(TObject* pObject);
+
+ /**
+ * Add the current data block to the selection.
+ * Note: enables also the block selection
+ */
+ int SelectDataBlock();
+
+ /**
+ * Add the all data blocks of a certain handler to the selection.
+ * Note: enables also the block selection
+ */
+ int SelectDataBlocks(const AliHLTOUTHandlerListEntry* pHandlerDesc);
+
+ /**
+ * Enable the selection of data blocks.
+ */
+ int EnableBlockSelection();
+
+ /**
+ * Disable the selection of data blocks.
+ */
+ int DisableBlockSelection();
+
+ /**
+ * Reset the data block selection.
+ * Resets the selection list, none of the blocks is selected.
+ */
+ int ResetBlockSelection();
+
+ /**
+ * Mark the current block as processed.
+ */
+ int MarkDataBlockProcessed();
+
+ /**
+ * Mark all data blocks of a certain handler processed.
+ */
+ int MarkDataBlocksProcessed(const AliHLTOUTHandlerListEntry* pHandlerDesc);
+
+ /**
+ * Add a sub collection to the HLTOUT.
+ */
+ int AddSubCollection(AliHLTOUT* pCollection);
+
+ /**
+ * Release a previously added sub collection.
+ */
+ int ReleaseSubCollection(AliHLTOUT* pCollection);
+