Back to home page

EIC code displayed by LXR

 
 

    


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

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_IUPDATEABLE_H
0012 #define GAUDIKERNEL_IUPDATEABLE_H
0013 
0014 #include "GaudiKernel/IInterface.h"
0015 #include "GaudiKernel/StatusCode.h"
0016 
0017 /** @class IUpdateable IUpdateable.h GaudiKernel/IUpdateable.h
0018  *
0019  *  Object update interface definition.
0020  *  Definition of a interface to recalculate object properties.
0021  *
0022  *   @author  M.Frank
0023  *   @version 1.0
0024  */
0025 class GAUDI_API IUpdateable {
0026 public:
0027   /// Default destructor
0028   virtual ~IUpdateable() = default;
0029 
0030   /** Output serialization to stream buffer. Saves the status of the object.
0031    * @param   flag    Flag to trigger implementation specific action.
0032    *
0033    * @return  Status code indicating success or failure.
0034    */
0035   virtual StatusCode update( int flag ) = 0;
0036 };
0037 
0038 /** @class IUpdateableInterface IUpdateable.h GaudiKernel/IUpdateable.h
0039  *
0040  *  Component interface counterpart to the above ABC.
0041  *
0042  *   @author  M.Frank
0043  *   @version 1.0
0044  */
0045 class GAUDI_API IUpdateableIF : virtual public IInterface, virtual public IUpdateable {
0046 public:
0047   /// InterfaceID
0048   DeclareInterfaceID( IUpdateableIF, 1, 0 );
0049 };
0050 
0051 #endif // GAUDIKERNEL_IUPDATEABLE_H