]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTHOMERLibManager.h
The segmentations are made data member of the AliITSUGeomTGeo, will be loaded
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTHOMERLibManager.h
index abd65f53c21069d3c6993d0d7771ae4761b5ff27..96e940d4d0fc03516a2a56e73cb0d3494060e45a 100644 (file)
@@ -1,3 +1,4 @@
+
 //-*- Mode: C++ -*-
 // @(#) $Id$
 
@@ -53,9 +54,13 @@ class AliHLTHOMERWriter;
  * manager.DeleteReader(pReader);
  * </pre>
  *
- * The manager does not not provide methods to create a HOMER reader on
+ * The manager does not provide methods to create a HOMER reader on
  * basis of shared memory. This is most likely a depricated functionality,
- * although kept for the sake of completeness.
+ * although kept for the sake of completeness. However, at some point it
+ * might become useful. Please notify the developers if you need that
+ * functionality.
+ *
+ * @ingroup alihlt_homer
  */
 class AliHLTHOMERLibManager {
  public:
@@ -129,26 +134,37 @@ class AliHLTHOMERLibManager {
    */
   int LoadHOMERLibrary();
 
+  /**
+   * Unloads the HOMER library.
+   */
+  int UnloadHOMERLibrary();
+
   /** status of the loading of the HOMER library */
   int fLibraryStatus; //!transient
 
   /** entry in the HOMER library */
-  void* fFctCreateReaderFromTCPPort; //!transient
+  void (*fFctCreateReaderFromTCPPort)(); //!transient
 
   /** entry in the HOMER library */
-  void* fFctCreateReaderFromTCPPorts; //!transient
+  void (*fFctCreateReaderFromTCPPorts)(); //!transient
 
   /** entry in the HOMER library */
-  void* fFctCreateReaderFromBuffer; //!transient
+  void (*fFctCreateReaderFromBuffer)(); //!transient
 
   /** entry in the HOMER library */
-  void* fFctDeleteReader; //!transient
+  void (*fFctDeleteReader)(); //!transient
 
   /** entry in the HOMER library */
-  void* fFctCreateWriter; //!transient
+  void (*fFctCreateWriter)(); //!transient
 
   /** entry in the HOMER library */
-  void* fFctDeleteWriter; //!transient
+  void (*fFctDeleteWriter)(); //!transient
+
+  /** Indicates the library that was actually (and if) loaded in LoadHOMERLibrary(). */
+  const char* fLoadedLib;  //!transient
+
+  static const char* fgkLibraries[]; /// List of libraries to try and load.
+  static int fgkLibRefCount[]; /// The library reference count to control when to unload the library.
 
   ClassDef(AliHLTHOMERLibManager, 0)
 };