HiveEventRegistryEntry.h
Go to the documentation of this file.
1 #ifndef GAUDIHIVE_HIVEEVENTREGISTRYENTRY_H
2 #define GAUDIHIVE_HIVEEVENTREGISTRYENTRY_H
3 
4 // STL include files
5 #include <vector>
6 #include <string>
7 
8 // Framework include files
9 #include "GaudiKernel/Kernel.h"
11 #include "GaudiKernel/DataSvc.h"
12 
13 // tbb include files
14 #include "tbb/concurrent_queue.h"
15 #include "tbb/concurrent_vector.h"
16 
17 // Forward declarations
18 //class DataSvc;
19 class DataObject;
20 class IDataProviderSvc;
21 class IOpaqueAddress;
22 class IDataStoreAgent;
23 
24 namespace Hive {
25 
26  class HiveRegistryEntry;
27 
29  public:
30  friend class ::DataSvc;
31  private:
33  tbb::concurrent_queue<std::string> m_publishedData;
34  private:
40  void assemblePath(std::string& buffer) const;
43  HiveRegistryEntry* i_add(const std::string&);
44  public:
48  virtual ~HiveEventRegistryEntry();
50  virtual long add(const std::string& name,
51  DataObject* pObject,
52  bool is_soft = false);
54  virtual long add(const std::string& name,
55  IOpaqueAddress* pAddress,
56  bool is_soft = false);
58  virtual long add(IRegistry* obj);
60  virtual tbb::concurrent_queue<std::string>& new_products() {
61  return m_publishedData;
62  }
63  };
64 
65 } // namespace Hive
66 #endif // GAUDIHIVE_HIVEEVENTREGISTRYENTRY_H
virtual tbb::concurrent_queue< std::string > & new_products()
Get list of new products.
Data provider interface definition.
STL class.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
Definition of an entry in the transient data store.
Definition: RegistryEntry.h:36
Generic data agent interface.
Opaque address interface definition.
tbb::concurrent_queue< std::string > m_publishedData
registry for all data published in the event; getting read from time to time
#define GAUDI_API
Definition: Kernel.h:107
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30