CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWItemAccessorBase.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWItemAccessorBase_h
2 #define Fireworks_Core_FWItemAccessorBase_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWItemAccessorBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Sat Oct 18 08:14:21 EDT 2008
19 // $Id: FWItemAccessorBase.h,v 1.5 2010/07/23 16:02:54 eulisse Exp $
20 //
21 
22 // system include files
23 #include <typeinfo>
24 
25 // user include files
26 
27 // forward declarations
28 class TClass;
29 namespace edm {
30  class EDProduct;
31 }
32 
33 namespace Reflex {
34  class Object;
35 }
36 
38 
39 public:
41  virtual ~FWItemAccessorBase();
42 
43  // ---------- const member functions ---------------------
44  virtual const void* modelData(int iIndex) const = 0;
45  virtual const void* data() const = 0;
46  virtual unsigned int size() const = 0;
47  virtual const TClass* modelType() const = 0;
48  virtual const TClass* type() const = 0;
49 
50  virtual bool isCollection() const = 0;
51 
53  //virtual std::string idForIndex(int iIndex) const;
54  // ---------- member functions ---------------------------
55  virtual void setData(const Reflex::Object& )=0;
56  virtual void reset() = 0;
57 
58 private:
59  //FWItemAccessorBase(const FWItemAccessorBase&); // stop default
60 
61  //const FWItemAccessorBase& operator=(const FWItemAccessorBase&); // stop default
62 
63  // ---------- member data --------------------------------
64 
65 };
66 
67 
68 #endif
virtual const TClass * modelType() const =0
virtual const void * data() const =0
virtual const void * modelData(int iIndex) const =0
virtual bool isCollection() const =0
virtual const TClass * type() const =0
virtual void setData(const Reflex::Object &)=0
override if id of an object should be different than the index
virtual void reset()=0
virtual unsigned int size() const =0