00001
00002 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H
00003 #define GAUDIKERNEL_IAIDATUPLESVC_H 1
00004
00005
00006 #include "GaudiKernel/IDataProviderSvc.h"
00007
00008
00009 class DataObject;
00010
00011
00012
00013 namespace AIDA {
00014 class ITuple;
00015 class IAnnotation;
00016 }
00017
00018 using AIDA::ITuple;
00019 using AIDA::IAnnotation;
00020
00021
00022
00023 static const InterfaceID IID_IAIDATupleSvc(120, 2, 0);
00024
00025
00034 class IAIDATupleSvc : virtual public IDataProviderSvc {
00035
00036 public:
00037
00038
00039 static const InterfaceID& interfaceID() { return IID_IAIDATupleSvc; }
00040
00041
00042
00043
00044 virtual AIDA::ITuple* book( const std::string& fullPath,
00045 const std::string& title,
00046 const std::string& columns ) = 0;
00047
00048
00049
00050
00051
00052 virtual StatusCode registerObject( const std::string& dirPath,
00053 const std::string& objPath,
00054 AIDA::ITuple* tObj ) = 0;
00055
00056
00057 virtual StatusCode registerObject( DataObject* pParent,
00058 const std::string& objPath,
00059 AIDA::ITuple* tObj ) = 0;
00060
00061
00062
00063
00064
00065 virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
00066
00067 virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
00068 const std::string& objectPath ) = 0;
00069
00070
00071
00072
00073
00074 virtual StatusCode retrieveObject( const std::string& fullPath,
00075 AIDA::ITuple*& tObj ) = 0;
00076
00077 virtual StatusCode retrieveObject( const std::string& parentPath,
00078 const std::string& objPath,
00079 AIDA::ITuple*& tObj ) = 0;
00080
00081 virtual StatusCode retrieveObject( DataObject* parentObj,
00082 const std::string& objPath,
00083 AIDA::ITuple*& tObj ) = 0;
00084
00085
00086
00087
00088
00089 virtual StatusCode findObject( const std::string& fullPath,
00090 AIDA::ITuple*& tObj ) = 0;
00091
00092 virtual StatusCode findObject( IRegistry* pDirectory,
00093 const std::string& path,
00094 AIDA::ITuple*& tObj ) = 0;
00095
00096 virtual StatusCode findObject( const std::string& parentPath,
00097 const std::string& objPath,
00098 AIDA::ITuple*& tObj ) = 0;
00099
00100 virtual StatusCode findObject( DataObject* parentObj,
00101 const std::string& objPath,
00102 AIDA::ITuple*& tObj ) = 0;
00103
00105 virtual void setCriteria( AIDA::ITuple*& tObj,
00106 const std::string& criteria ) = 0;
00107
00108
00109
00110
00111
00112
00113
00114 virtual DataObject* createPath( const std::string& newPath )= 0;
00115
00116
00117 virtual DataObject* createDirectory(const std::string& parentDir,
00118 const std::string& subDir) = 0;
00119
00120 virtual StatusCode myTest() = 0;
00121
00122
00123 };
00124
00125 #endif //GAUDIKERNEL_IAIDATUPLESVC_H