Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:32

0001 #ifndef Fireworks_Core_FWRepresentationCheckerBase_h
0002 #define Fireworks_Core_FWRepresentationCheckerBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWRepresentationCheckerBase
0007 //
0008 /**\class FWRepresentationCheckerBase FWRepresentationCheckerBase.h Fireworks/Core/interface/FWRepresentationCheckerBase.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Tue Nov 11 13:12:35 EST 2008
0019 //
0020 
0021 // system include files
0022 #include <string>
0023 // user include files
0024 
0025 // forward declarations
0026 class FWRepresentationInfo;
0027 
0028 class FWRepresentationCheckerBase {
0029 public:
0030   FWRepresentationCheckerBase(const std::string& iPurpose,
0031                               unsigned int iBitPackedViews,
0032                               bool iRepresentsSubPart,
0033                               bool iRequiresFF = false);
0034   virtual ~FWRepresentationCheckerBase();
0035 
0036   // ---------- const member functions ---------------------
0037   const std::string& purpose() const;
0038   //virtual bool canWorkWith(const std::string& iTypeName) const = 0;
0039   virtual FWRepresentationInfo infoFor(const std::string& iTypeName) const = 0;
0040 
0041   unsigned int bitPackedViews() const;
0042   bool representsSubPart() const;
0043 
0044   bool requiresFF() const { return m_requiresFF; }
0045   // ---------- static member functions --------------------
0046 
0047   // ---------- member functions ---------------------------
0048 
0049   FWRepresentationCheckerBase(const FWRepresentationCheckerBase&) = delete;  // stop default
0050 
0051   const FWRepresentationCheckerBase& operator=(const FWRepresentationCheckerBase&) = delete;  // stop default
0052 
0053 private:
0054   // ---------- member data --------------------------------
0055   const std::string m_purpose;
0056   const unsigned int m_bitPackedViews;
0057   const bool m_representsSubPart;
0058   const bool m_requiresFF;
0059 };
0060 
0061 #endif