HLTError("missing parameter for argument %s", argument.Data());
iResult=-EINVAL;
}
+ if (iResult>=0) {
+ iResult=CheckOCDBEntries();
+ }
if (iResult>=0) {
iResult=DoInit(iNofChildArgs, pArguments);
}
return 0;
}
+void AliHLTComponent::GetOCDBObjectDescription( TMap* const /*targetArray*/)
+{
+ // default implementation, childs can overload
+ HLTLogKeyword("dummy");
+}
+
+int AliHLTComponent::CheckOCDBEntries(const TMap* const externList)
+{
+ // check the availability of the OCDB entry descriptions in the TMap
+ // key : complete OCDB path of the entry
+ // value : auxiliary object - short description
+ // if the external map was not provided the function invokes
+ // interface function GetOCDBObjectDescription() to retrieve the list.
+ int iResult=0;
+ if (externList) {
+ iResult=AliHLTMisc::Instance().CheckOCDBEntries(externList);
+ } else {
+ TMap* pMap=new TMap;
+ if (pMap) {
+ pMap->SetOwnerKeyValue(kTRUE);
+ GetOCDBObjectDescription(pMap);
+ iResult=AliHLTMisc::Instance().CheckOCDBEntries(pMap);
+ delete pMap;
+ pMap=NULL;
+ }
+ }
+
+ return iResult;
+}
+
void AliHLTComponent::DataType2Text( const AliHLTComponentDataType& type, char output[kAliHLTComponentDataTypefIDsize+kAliHLTComponentDataTypefOriginSize+2] ) const
{
// see header file for function documentation
class AliHLTComponentHandler;
class TObjArray;
+class TMap;
class TStopwatch;
class AliHLTComponent;
class AliHLTMemoryFile;
*/
virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) = 0;
+ /**
+ * Get a list of OCDB object description.
+ * The list of objects is provided in a TMap
+ * - key: complete OCDB path, e.g. GRP/GRP/Data
+ * - value: short description why the object is needed
+ * Key and value objects created inside this class go into ownership of
+ * target TMap.
+ * @param targetMap TMap instance receiving the list
+ * @return void
+ */
+ virtual void GetOCDBObjectDescription( TMap* const targetArray);
+
/**
* Spawn function.
* Each component must implement a spawn function to create a new instance of
*/
virtual AliHLTComponent* Spawn() = 0;
+ /**
+ * check the availability of the OCDB entry descriptions in the TMap
+ * key : complete OCDB path of the entry
+ * value : auxiliary object - short description
+ * if the external map was not provided the function invokes
+ * interface function GetOCDBObjectDescription() to retrieve the list.
+ * @param externList map of entries to be tested
+ * @result 0 if all found, -ENOENT if objects not found
+ */
+ int CheckOCDBEntries(const TMap* const externList=NULL);
+
/**
* Find matching data types between this component and a consumer component.
* Currently, a component can produce only one type of data. This restriction is most