1 #ifndef GAUDIFILECATALOG_IFILECATALOG_H
2 #define GAUDIFILECATALOG_IFILECATALOG_H
35 typedef std::pair<std::string,std::string>
NamedItem;
37 typedef std::vector<NamedItem>
Files;
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 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;
std::vector< NamedItem > Files
std::vector< std::string > Strings
std::pair< std::string, std::string > NamedItem
Public type definitions.
std::vector< NamedItem > Attributes
Definition of the basic interface.
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
The IMessage is the interface implemented by the message service.
Class wrapping the signature for a factory with 2 arguments.
Gaudi::PluginService::Factory2< IInterface *, const std::string &, IMessageSvc * > Factory
This is a number of static methods for bootstrapping the Gaudi framework.