// This may look like C code, but it is really -*- C++ -*- // Adaptateur pour objets gere par NamedObjMgr (piapp) // Reza 05/99 // LAL-IN2P3/CNRS CEA-DAPNIA #ifndef NOMGADAPTER_H_SEEN #define NOMGADAPTER_H_SEEN #include "machdefs.h" #include "ppersist.h" #include "anydataobj.h" #include "pidrawer.h" #include "parradapter.h" #include "ntupintf.h" // Classe d'adaptateur d'objets de donnees pour la gestion d'objets // nommes (NamedObjMgr) de piapp class NObjMgrAdapter { public: NObjMgrAdapter(AnyDataObj* o); virtual ~NObjMgrAdapter(); virtual NObjMgrAdapter* Clone(AnyDataObj* o); // Returns the actual data-object virtual AnyDataObj* GetDataObj(); // Returns the actual data-object type (class name) virtual string GetDataObjType(); // Returns a new data-object, cloning the original object virtual AnyDataObj* CloneDataObj(); virtual AnyDataObj* GetCopyObj(); // Methode obsolete - Devra etre remplace // par CloneDataObj() // Copies data from object o virtual void CopyFrom(AnyDataObj* o); // Returns a string representation of the object virtual string ToString(); // Fills the object from a string virtual void FillFromString(); virtual void ReadFits(string const & flnm); virtual void SaveFits(string const & flnm); virtual void SavePPF(POutPersist& s, string const & nom); virtual void Print(ostream& os); virtual PIDrawer* GetDrawer(string& dopt); virtual P2DArrayAdapter* Get2DArray(string& dopt); // NTupleInterface* nti = GetNTupleInterface(adel) // Retourne un objet de type NTupleInterface (nti), ainsi que adel // si adel == true, le programme appelant doit faire delete de nti virtual NTupleInterface* GetNTupleInterface(bool& adel); protected: AnyDataObj* mObj; }; #endif