| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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 <vector>
8 #include <utility>
9
10 /*
11 * Gaudi namespace declaration
12 */
13 namespace Gaudi {
14
24 class GAUDI_API IFileCatalog : virtual public IInterface {
25
26 public:
28 DeclareInterfaceID(IFileCatalog,2,0);
29
30 #ifndef __REFLEX__
31 typedef Gaudi::PluginService::Factory<IInterface*,
32 const std::string&,
33 IMessageSvc*> Factory;
34 #endif
35
37 typedef std::pair<std::string,std::string> NamedItem;
38 typedef std::vector<NamedItem> Attributes;
39 typedef std::vector<NamedItem> Files;
40 typedef std::vector<std::string> Strings;
41
43 virtual std::string createFID() const = 0;
46 virtual const std::string& connectInfo() const = 0;
48 virtual void init() = 0;
50 virtual void commit() = 0;
52 virtual void rollback() = 0;
54 virtual bool readOnly() const = 0;
56 virtual bool dirty() const = 0;
58 virtual void getPFN(const std::string& fid, Files& files) const = 0;
60 virtual void getLFN(const std::string& fid, Files& files) const = 0;
62 virtual void getFID(Strings& fids) const = 0;
64 virtual bool existsPFN(const std::string& pfn) const = 0;
66 virtual std::string lookupPFN(const std::string& lfn) const = 0;
68 virtual bool existsLFN(const std::string& lfn) const = 0;
70 virtual std::string lookupLFN(const std::string& lfn) const = 0;
72 virtual bool existsFID(const std::string& fid) const = 0;
74 virtual void deleteFID(const std::string& FileID) const = 0;
76 virtual void registerPFN(const std::string& fid, const std::string& pfn, const std::string& ftype) const = 0;
78 virtual void registerLFN(const std::string& fid, const std::string& lfn) const = 0;
80 virtual void registerFID(const std::string& fid) const = 0;
82 virtual void getMetaData(const std::string& fid, Attributes& attr) const = 0;
84 virtual std::string getMetaDataItem(const std::string& fid, const std::string& name) const = 0;
86 virtual void setMetaData(const std::string& fid, const std::string& name, const std::string& value) const = 0;
88 virtual void dropMetaData(const std::string& fid) const = 0;
90 virtual void dropMetaData(const std::string& fid, const std::string& attr) const = 0;
91 };
92 } /* End namespace Gaudi */
93 #endif /* GAUDIFILECATALOG_IFILECATALOG_H */
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
Gaudi::IFileCatalog::Files
std::vector< NamedItem > Files
Definition: IFileCatalog.h:39
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:14
Gaudi::IFileCatalog::Factory
Gaudi::PluginService::Factory< IInterface *, const std::string &, IMessageSvc * > Factory
Definition: IFileCatalog.h:33
Gaudi::IFileCatalog::Strings
std::vector< std::string > Strings
Definition: IFileCatalog.h:40
Gaudi::IFileCatalog::NamedItem
std::pair< std::string, std::string > NamedItem
Public type definitions.
Definition: IFileCatalog.h:37
std::string
STL class.
Gaudi::IFileCatalog::Attributes
std::vector< NamedItem > Attributes
Definition: IFileCatalog.h:38
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
IMessageSvc
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:57
Gaudi::IFileCatalog
File catalog interface.
Definition: IFileCatalog.h:24
std::pair< std::string, std::string >
GaudiSvc.getMetaData
def getMetaData(path)
Definition: __init__.py:1
PluginService.h
std::vector
STL class.
Gaudi::PluginService::Factory
Class wrapping the signature for a factory with any number of arguments.
Definition: PluginService.h:47
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
IInterface.h
Gaudi
Helper functions to set/get the application return code.
Definition: __init__.py:1