| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 typedef Gaudi::PluginService::Factory2<IInterface*,
31 const std::string&,
32 IMessageSvc*> Factory;
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
42 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 getMetaData(const std::string& fid, Attributes& attr) const = 0;
82 virtual std::string getMetaDataItem(const std::string& fid, const std::string& name) const = 0;
84 virtual void setMetaData(const std::string& fid, const std::string& name, const std::string& value) const = 0;
86 virtual void dropMetaData(const std::string& fid) const = 0;
88 virtual void dropMetaData(const std::string& fid, const std::string& attr) const = 0;
89 };
90 } /* End namespace Gaudi */
91 #endif /* GAUDIFILECATALOG_IFILECATALOG_H */