enhanced HOMER reader to work on normal buffer
[u/mrichter/AliRoot.git] / HLT / BASE / HOMER / AliHLTHOMERReader.h
index 59978de7c4d80b38ee9fd725079f9dd02bd12bbc..bb4755139d7e8f437e760b6a3ea85a02e0bec7e2 100644 (file)
@@ -104,6 +104,8 @@ class AliHLTHOMERReader: public AliHLTMonitoringReader
        /* For reading from multiple TCP ports and multiple System V shared memory segments */
        AliHLTHOMERReader( unsigned int tcpCnt, const char** hostnames, unsigned short* ports, 
                     unsigned int shmCnt, key_t* shmKey, int* shmSize );
        /* For reading from multiple TCP ports and multiple System V shared memory segments */
        AliHLTHOMERReader( unsigned int tcpCnt, const char** hostnames, unsigned short* ports, 
                     unsigned int shmCnt, key_t* shmKey, int* shmSize );
+       /* For reading from a buffer */
+       AliHLTHOMERReader( const void* pBuffer, int size );
        virtual ~AliHLTHOMERReader();
 
        /* Return the status of the connection as established by one of the constructors.
        virtual ~AliHLTHOMERReader();
 
        /* Return the status of the connection as established by one of the constructors.
@@ -214,7 +216,7 @@ class AliHLTHOMERReader: public AliHLTMonitoringReader
 
     protected:
 
 
     protected:
 
-       enum DataSourceType { kUndef=0, kTCP, kShm };
+      enum DataSourceType { kUndef=0, kTCP, kShm, kBuf};
        struct DataSource
            {
                DataSource() { fType = kUndef; };
        struct DataSource
            {
                DataSource() { fType = kUndef; };
@@ -237,6 +239,7 @@ class AliHLTHOMERReader: public AliHLTMonitoringReader
        bool AllocDataSources( unsigned int sourceCnt );
        int AddDataSource( const char* hostname, unsigned short port, DataSource& source );
        int AddDataSource( key_t shmKey, int shmSize, DataSource& source );
        bool AllocDataSources( unsigned int sourceCnt );
        int AddDataSource( const char* hostname, unsigned short port, DataSource& source );
        int AddDataSource( key_t shmKey, int shmSize, DataSource& source );
+        int AddDataSource( void* pBuffer, int size, DataSource& source );
        void FreeDataSources();
        int FreeShmDataSource( DataSource& source );
        int FreeTCPDataSource( DataSource& source );
        void FreeDataSources();
        int FreeShmDataSource( DataSource& source );
        int FreeTCPDataSource( DataSource& source );