Go to the documentation of this file.00001 #ifndef Fireworks_Core_FWItemAccessorBase_h
00002 #define Fireworks_Core_FWItemAccessorBase_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023 #include <typeinfo>
00024
00025
00026
00027
00028 class TClass;
00029 namespace edm {
00030 class EDProduct;
00031 }
00032
00033 namespace Reflex {
00034 class Object;
00035 }
00036
00037 class FWItemAccessorBase {
00038
00039 public:
00040 FWItemAccessorBase();
00041 virtual ~FWItemAccessorBase();
00042
00043
00044 virtual const void* modelData(int iIndex) const = 0;
00045 virtual const void* data() const = 0;
00046 virtual unsigned int size() const = 0;
00047 virtual const TClass* modelType() const = 0;
00048 virtual const TClass* type() const = 0;
00049
00050 virtual bool isCollection() const = 0;
00051
00053
00054
00055 virtual void setData(const Reflex::Object& )=0;
00056 virtual void reset() = 0;
00057
00058 private:
00059
00060
00061
00062
00063
00064
00065 };
00066
00067
00068 #endif