| The Gaudi Framework v32r1 (f65d50dc)

IFileCatalog.h
Go to the documentation of this file.
1 #ifndef GAUDIFILECATALOG_IFILECATALOG_H
2 #define GAUDIFILECATALOG_IFILECATALOG_H
3
4 #include "GaudiKernel/IInterface.h"
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
26 class GAUDI_API IFileCatalog : virtual public IInterface {
27
28 public:
30 DeclareInterfaceID( IFileCatalog, 2, 0 );
31
32 using Factory = Gaudi::PluginService::Factory<IInterface*( const std::string&, IMessageSvc* )>;
33
35 typedef std::pair<std::string, std::string> NamedItem;
36 typedef std::vector<NamedItem> Attributes;
37 typedef std::vector<NamedItem> Files;
38 typedef std::vector<std::string> Strings;
39
41 virtual std::string createFID() const = 0;
44 virtual const std::string& connectInfo() const = 0;
46 virtual void init() = 0;
48 virtual void commit() = 0;
50 virtual void rollback() = 0;
52 virtual bool readOnly() const = 0;
54 virtual bool dirty() const = 0;
56 virtual void getPFN( const std::string& fid, Files& files ) const = 0;
58 virtual void getLFN( const std::string& fid, Files& files ) const = 0;
60 virtual void getFID( Strings& fids ) const = 0;
62 virtual bool existsPFN( const std::string& pfn ) const = 0;
64 virtual std::string lookupPFN( const std::string& lfn ) const = 0;
66 virtual bool existsLFN( const std::string& lfn ) const = 0;
68 virtual std::string lookupLFN( const std::string& lfn ) const = 0;
70 virtual bool existsFID( const std::string& fid ) const = 0;
72 virtual void deleteFID( const std::string& FileID ) const = 0;
74 virtual void registerPFN( const std::string& fid, const std::string& pfn, const std::string& ftype ) const = 0;
76 virtual void registerLFN( const std::string& fid, const std::string& lfn ) const = 0;
78 virtual void registerFID( const std::string& fid ) const = 0;
80 virtual void renamePFN( const std::string& pfn, const std::string& new_pfn ) const = 0;
82 virtual void deletePFN( const std::string& pfn ) 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 */
Gaudi::IFileCatalog::NamedItem
std::pair< std::string, std::string > NamedItem
Public type definitions.
Definition: IFileCatalog.h:35
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
Gaudi::IFileCatalog::Files
std::vector< NamedItem > Files
Definition: IFileCatalog.h:37
Gaudi::IFileCatalog::Strings
std::vector< std::string > Strings
Definition: IFileCatalog.h:38
std::string
STL class.
Gaudi::IFileCatalog::Attributes
std::vector< NamedItem > Attributes
Definition: IFileCatalog.h:36
IInterface
Definition of the basic interface.
Definition: IInterface.h:244
IMessageSvc
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:37
Gaudi::IFileCatalog
File catalog interface.
Definition: IFileCatalog.h:26
DeclareInterfaceID
#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
std::pair< std::string, std::string >
Gaudi::IFileCatalog::Factory
Gaudi::PluginService::Factory< IInterface *(const std::string &, IMessageSvc *)> Factory
Definition: IFileCatalog.h:32
GaudiSvc.getMetaData
def getMetaData(path)
Definition: __init__.py:1
PluginService.h
std::vector
STL class.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
IInterface.h
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1