Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:00:31

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
0003 *                                                                                   *
0004 * This software is distributed under the terms of the Apache version 2 licence,     *
0005 * copied verbatim in the file "LICENSE".                                            *
0006 *                                                                                   *
0007 * In applying this licence, CERN does not waive the privileges and immunities       *
0008 * granted to it by virtue of its status as an Intergovernmental Organization        *
0009 * or submit itself to any jurisdiction.                                             *
0010 \***********************************************************************************/
0011 #ifndef GAUDIKERNEL_IDATASOURCEMGR_H
0012 #define GAUDIKERNEL_IDATASOURCEMGR_H
0013 
0014 // Framework include files
0015 #include "GaudiKernel/IInterface.h"
0016 
0017 /** @class IDataSourceMgr IDataSourceMgr.h GaudiKernel/IDataSourceMgr.h
0018 
0019     IDataSourceMgr interface definition.
0020 
0021     @author Markus Frank
0022     @version 1.0
0023 */
0024 class GAUDI_API IDataSourceMgr : virtual public IInterface {
0025 public:
0026   /// InterfaceID
0027   DeclareInterfaceID( IDataSourceMgr, 2, 0 );
0028 
0029   /** Check if a datasource is connected
0030       @param    identifier  Connection string
0031       @return               Status code indicating success or failure.
0032   */
0033   virtual bool isConnected( const std::string& identifier ) const = 0;
0034 
0035   /** Connect data source
0036       @param    mode        Connection mode (READ,CREATE,UPDATE)
0037       @param    logon       Connection string
0038       @param    identifier  Logical name (OUTPUT)
0039       @return               Status code indicating success or failure.
0040   */
0041   virtual StatusCode connect( const std::string& logon, std::string& identifier ) = 0;
0042 
0043   /** Connect data source
0044       @param    mode        Connection mode (READ,CREATE,UPDATE)
0045       @param    logon       Connection string
0046       @return               Status code indicating success or failure.
0047   */
0048   virtual StatusCode connect( const std::string& logon ) = 0;
0049 
0050   /** Disconnect data source
0051       @param    identifier  Connection string
0052       @return               Status code indicating success or failure.
0053   */
0054   virtual StatusCode disconnect( const std::string& identifier ) = 0;
0055 
0056   /// Close all open connections
0057   virtual StatusCode disconnectAll() = 0;
0058 };
0059 
0060 #endif // GAUDIKERNEL_IDATASOURCEMGR_H