//-------------------------------------------------------------------------- // File and Version Information: // $Id: BdbConfigTestXTCTCProxyLoader.hh,v 1.1 1999/11/29 23:31:23 giorgos Exp $ // // Description: // Proxy loader for the configuration odfTestXTC TC proxy. // // Environment: // Software developed for the BaBar Detector at the SLAC B-Factory. // // Author List: // George Zioulas // // Copyright Information: // Copyright (C) 1999 SLAC // //-------------------------------------------------------------------------- #ifndef BDBCONFIGTESTXTCTCPROXYLOADER_HH #define BDBCONFIGTESTXTCTCPROXYLOADER_HH //----------------------- // Experiment Headers -- //----------------------- #include "BaBar/BaBar.hh" //---------------------- // Base Class Headers -- //---------------------- #include "BdbTCProxy/BdbTCProxyLoader.hh" //------------- // C Headers -- //------------- //------------------------------------ // Collaborating Class Declarations -- //------------------------------------ class BdbTCProxyDict; // --------------------- // -- Class Interface -- // --------------------- // Original comments from Yury Kolomenski. /** The purpose of TrgConfigTCProxyLoader is to instantiate all * persistent objects that are going to be accessed by the * application in vtables() method (to ensure that vtables are * loaded), and to register all necessary proxies (such as proxies * for the tagged containers) in the proxies() method * */ class BdbConfigTestXTCTCProxyLoader : public BdbTCProxyLoader { public: // Constructors BdbConfigTestXTCTCProxyLoader( ); // Destructor virtual ~BdbConfigTestXTCTCProxyLoader( ); // Operations /** * load vtables */ virtual bool vtables(); /** * load proxies */ virtual bool proxies( BdbTCProxyDict* dict ); // operators for RW bool operator == ( const BdbConfigTestXTCTCProxyLoader& ); protected: /** * These flags keep track of whether the vtables and proxies have been * loaded _vtables is always false, so it can be used in an if() around * the code that instantiates persistent classes (this is just to trick the * compiler into thinkuing that the branch can ever be executed and force * the linker to link in the vtables. * _proxies would be typically set to false in the constructor, and to true * in sublasses' proxies() methods * */ bool _vtabled; // always true bool _proxied; // set this in proxies() }; #endif