The Gaudi Framework  v29r0 (ff2e7097)
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 <string>
6 #include <vector>
7 
8 // Framework include files
9 #include "GaudiKernel/DataSvc.h"
10 #include "GaudiKernel/Kernel.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 
27  class HiveRegistryEntry;
28 
30  {
31  public:
32  friend class ::DataSvc;
33 
34  private:
36  tbb::concurrent_queue<std::string> m_publishedData;
37 
38  private:
44  void assemblePath( std::string& buffer ) const;
47  HiveRegistryEntry* i_add( const std::string& );
48 
49  public:
53  virtual ~HiveEventRegistryEntry();
55  virtual long add( const std::string& name, DataObject* pObject, bool is_soft = false );
57  virtual long add( const std::string& name, IOpaqueAddress* pAddress, bool is_soft = false );
59  virtual long add( IRegistry* obj );
61  virtual tbb::concurrent_queue<std::string>& new_products() { return m_publishedData; }
62  };
63 
64 } // namespace Hive
65 #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:110
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29