The Gaudi Framework  v30r2 (9eca68f7)
IFileCatalog.h
Go to the documentation of this file.
1 #ifndef GAUDIFILECATALOG_IFILECATALOG_H
2 #define GAUDIFILECATALOG_IFILECATALOG_H
3 
5 #include <Gaudi/PluginService.h>
6 #include <string>
7 #include <utility>
8 #include <vector>
9 
10 class IMessageSvc;
11 
12 /*
13  * Gaudi namespace declaration
14  */
15 namespace Gaudi
16 {
17 
27  class GAUDI_API IFileCatalog : virtual public IInterface
28  {
29 
30  public:
33 
34 #ifndef __REFLEX__
36 #endif
37 
43 
45  virtual std::string createFID() const = 0;
48  virtual const std::string& connectInfo() const = 0;
50  virtual void init() = 0;
52  virtual void commit() = 0;
54  virtual void rollback() = 0;
56  virtual bool readOnly() const = 0;
58  virtual bool dirty() const = 0;
60  virtual void getPFN( const std::string& fid, Files& files ) const = 0;
62  virtual void getLFN( const std::string& fid, Files& files ) const = 0;
64  virtual void getFID( Strings& fids ) const = 0;
66  virtual bool existsPFN( const std::string& pfn ) const = 0;
68  virtual std::string lookupPFN( const std::string& lfn ) const = 0;
70  virtual bool existsLFN( const std::string& lfn ) const = 0;
72  virtual std::string lookupLFN( const std::string& lfn ) const = 0;
74  virtual bool existsFID( const std::string& fid ) const = 0;
76  virtual void deleteFID( const std::string& FileID ) const = 0;
78  virtual void registerPFN( const std::string& fid, const std::string& pfn, const std::string& ftype ) const = 0;
80  virtual void registerLFN( const std::string& fid, const std::string& lfn ) const = 0;
82  virtual void registerFID( const std::string& fid ) const = 0;
84  virtual void getMetaData( const std::string& fid, Attributes& attr ) const = 0;
86  virtual std::string getMetaDataItem( const std::string& fid, const std::string& name ) const = 0;
88  virtual void setMetaData( const std::string& fid, const std::string& name, const std::string& value ) const = 0;
90  virtual void dropMetaData( const std::string& fid ) const = 0;
92  virtual void dropMetaData( const std::string& fid, const std::string& attr ) const = 0;
93  };
94 } /* End namespace Gaudi */
95 #endif /* GAUDIFILECATALOG_IFILECATALOG_H */
std::pair< std::string, std::string > NamedItem
Public type definitions.
Definition: IFileCatalog.h:39
std::vector< NamedItem > Files
Definition: IFileCatalog.h:41
Gaudi::PluginService::Factory< IInterface *, const std::string &, IMessageSvc * > Factory
Definition: IFileCatalog.h:35
std::vector< std::string > Strings
Definition: IFileCatalog.h:42
STL class.
std::vector< NamedItem > Attributes
Definition: IFileCatalog.h:40
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:277
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:38
File catalog interface.
Definition: IFileCatalog.h:27
def getMetaData(path)
Definition: __init__.py:1
STL class.
Class wrapping the signature for a factory with any number of arguments.
Definition: PluginService.h:45
#define GAUDI_API
Definition: Kernel.h:110
Helper functions to set/get the application return code.
Definition: __init__.py:1