AliHLTHOMERLibManager::AliHLTHOMERLibManager()
:
fLibraryStatus(0),
+ fFctCreateReaderFromTCPPort(NULL),
+ fFctCreateReaderFromTCPPorts(NULL),
fFctCreateReaderFromBuffer(NULL),
fFctDeleteReader(NULL),
fFctCreateWriter(NULL),
// see header file for class documentation
}
-AliHLTHOMERReader* AliHLTHOMERLibManager::OpenReader(const AliHLTUInt8_t* pBuffer, int size)
+AliHLTHOMERReader* AliHLTHOMERLibManager::OpenReader(const char* hostname, unsigned short port )
+{
+ // see header file for class documentation
+ if (fLibraryStatus<0) return NULL;
+
+ if (fLibraryStatus==0) {
+ fLibraryStatus=LoadHOMERLibrary();
+ }
+
+ AliHLTHOMERReader* pReader=NULL;
+ if (fFctCreateReaderFromTCPPort!=NULL && (pReader=(((AliHLTHOMERReaderCreateFromTCPPort_t)fFctCreateReaderFromTCPPort)(hostname, port)))==NULL) {
+ //HLTError("can not create instance of HOMER reader (function %p)", fFctCreateReaderFromTCPPort);
+ }
+
+ return pReader;
+}
+
+AliHLTHOMERReader* AliHLTHOMERLibManager::OpenReader(unsigned int tcpCnt, const char** hostnames, unsigned short* ports)
+{
+ // see header file for class documentation
+ if (fLibraryStatus<0) return NULL;
+
+ if (fLibraryStatus==0) {
+ fLibraryStatus=LoadHOMERLibrary();
+ }
+
+ AliHLTHOMERReader* pReader=NULL;
+ if (fFctCreateReaderFromTCPPorts!=NULL && (pReader=(((AliHLTHOMERReaderCreateFromTCPPorts_t)fFctCreateReaderFromTCPPorts)(tcpCnt, hostnames, ports)))==NULL) {
+ //HLTError("can not create instance of HOMER reader (function %p)", fFctCreateReaderFromTCPPorts);
+ }
+
+ return pReader;
+}
+
+AliHLTHOMERReader* AliHLTHOMERLibManager::OpenReaderBuffer(const AliHLTUInt8_t* pBuffer, int size)
{
// see header file for class documentation
if (fLibraryStatus<0) return NULL;
AliHLTHOMERReader* pReader=NULL;
if (fFctCreateReaderFromBuffer!=NULL && (pReader=(((AliHLTHOMERReaderCreateFromBuffer_t)fFctCreateReaderFromBuffer)(pBuffer, size)))==NULL) {
- HLTError("can not create instance of HOMER reader (function %p)", fFctCreateReaderFromBuffer);
+ //HLTError("can not create instance of HOMER reader (function %p)", fFctCreateReaderFromBuffer);
}
return pReader;
}
AliHLTHOMERWriter* pWriter=NULL;
-// if (fFctCreateWriter!=NULL && (pWriter=(((AliHLTHOMERWriterCreate_t)fFctCreateWriter)()))==NULL) {
+ if (fFctCreateWriter!=NULL && (pWriter=(((AliHLTHOMERWriterCreate_t)fFctCreateWriter)()))==NULL) {
// HLTError("can not create instance of HOMER writer (function %p)", fFctCreateWriter);
-// }
+ }
return pWriter;
}
do {
TString libs = gSystem->GetLibraries();
if (libs.Contains(*library) ||
- (gSystem->Load(*library)) > 0) {
- HLTDebug("%s (is) loaded", *library);
+ (gSystem->Load(*library)) >= 0) {
iResult=1;
break;
}
typedef void (*CompileInfo)( char*& date, char*& time);
CompileInfo fctInfo=(CompileInfo)gSystem->DynFindSymbol(*library, "CompileInfo");
if (fctInfo) {
- char* date="";
- char* time="";
+ char* date=0;
+ char* time=0;
(*fctInfo)(date, time);
- if (!date) date="unknown";
- if (!time) time="unknown";
- HLTInfo("%s build on %s (%s)", *library, date, time);
+ if (!date) {date=new Char_t[8]; strcpy(date,"unknown");}
+ if (!time) {time=new Char_t[8]; strcpy(time,"unknown");}
+ //HLTInfo("%s build on %s (%s)", *library, date, time);
} else {
- HLTInfo("no build info available for %s", *library);
+ //HLTInfo("no build info available for %s", *library);
}
- fFctCreateReaderFromBuffer=gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_CREATE_FROM_BUFFER);
- fFctDeleteReader=gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_DELETE);
- fFctCreateWriter=gSystem->DynFindSymbol(*library, ALIHLTHOMERWRITER_CREATE);
- fFctDeleteWriter=gSystem->DynFindSymbol(*library, ALIHLTHOMERWRITER_DELETE);
- if (fFctCreateReaderFromBuffer==NULL || fFctDeleteReader==NULL ||
- fFctCreateWriter==NULL || fFctDeleteWriter==NULL) {
+ fFctCreateReaderFromTCPPort=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_CREATE_FROM_TCPPORT);
+ fFctCreateReaderFromTCPPorts=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_CREATE_FROM_TCPPORTS);
+ fFctCreateReaderFromBuffer=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_CREATE_FROM_BUFFER);
+ fFctDeleteReader=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERREADER_DELETE);
+ fFctCreateWriter=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERWRITER_CREATE);
+ fFctDeleteWriter=(void (*)())gSystem->DynFindSymbol(*library, ALIHLTHOMERWRITER_DELETE);
+ if (fFctCreateReaderFromTCPPort==NULL ||
+ fFctCreateReaderFromTCPPorts==NULL ||
+ fFctCreateReaderFromBuffer==NULL ||
+ fFctDeleteReader==NULL ||
+ fFctCreateWriter==NULL ||
+ fFctDeleteWriter==NULL) {
iResult=-ENOSYS;
} else {
- HLTDebug("%s: create fct %p, delete fct %p", *library, fFctCreateReaderFromBuffer, fFctDeleteReader);
}
}
if (iResult<0 || *library==NULL) {
+ fFctCreateReaderFromTCPPort=NULL;
+ fFctCreateReaderFromTCPPorts=NULL;
fFctCreateReaderFromBuffer=NULL;
fFctDeleteReader=NULL;
fFctCreateWriter=NULL;