![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Id: IAIDATupleSvc.h,v 1.2 2005/12/06 18:55:19 hmd Exp $ 00002 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H 00003 #define GAUDIKERNEL_IAIDATUPLESVC_H 1 00004 00005 //Include files: 00006 #include "GaudiKernel/IDataProviderSvc.h" 00007 00008 //Forward declarations: 00009 class DataObject; 00010 00011 //Added to allow use of AIDA in applications 00012 //without prefix AIDA:: (as before): 00013 namespace AIDA { 00014 class ITuple; 00015 class IAnnotation; 00016 } 00017 00018 using AIDA::ITuple; 00019 using AIDA::IAnnotation; 00020 00021 00022 //Declaration of the interface ID (interface id, major version, minor version) 00023 static const InterfaceID IID_IAIDATupleSvc(120, 2, 0); 00024 00025 00034 class IAIDATupleSvc : virtual public IDataProviderSvc { 00035 00036 public: 00037 00038 //Retrieve interface ID 00039 static const InterfaceID& interfaceID() { return IID_IAIDATupleSvc; } 00040 00041 // =================================== 00042 // Book a tuple in the transient store 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 // Register a tuple in the transient store 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 // Unregister a tuple in the transient store 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 // Retrieve a tuple from the data store 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 // Find a tuple in the data store 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 // Helper methods 00111 // ============== 00112 00113 //Create all directories in a given full path 00114 virtual DataObject* createPath( const std::string& newPath )= 0; 00115 00116 //Create a sub-directory in a directory. 00117 virtual DataObject* createDirectory(const std::string& parentDir, 00118 const std::string& subDir) = 0; 00119 00120 virtual StatusCode myTest() = 0; 00121 00122 //virtual std::string storeName(AIDA::ITuple*& tObj) = 0; 00123 }; 00124 00125 #endif //GAUDIKERNEL_IAIDATUPLESVC_H