Index: /trunk/SophyaPI/PIext/Makefile
===================================================================
--- /trunk/SophyaPI/PIext/Makefile	(revision 1163)
+++ /trunk/SophyaPI/PIext/Makefile	(revision 1164)
@@ -67,5 +67,8 @@
  $(INC)ppersist.h \
  $(INC)pexceptions.h \
- $(INC)gnumd5.h pisiadw.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h pisiadw.h \
  $(INC)pilistx.h \
  $(INC)pilistgen.h \
@@ -74,5 +77,4 @@
  $(INC)periodic.h servnobjm.h \
  $(INC)histos.h \
- $(INC)objfio.h \
  $(INC)peida.h \
  $(INC)utils.h \
@@ -83,6 +85,4 @@
  $(INC)tarray.h \
  $(INC)basarr.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
  $(INC)ndatablock.h \
  $(INC)utilarr.h \
@@ -99,5 +99,8 @@
  $(INC)ppersist.h \
  $(INC)pexceptions.h \
- $(INC)gnumd5.h dlftypes.h servnobjm.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h dlftypes.h servnobjm.h \
  $(INC)pdlmgr.h nomgadapter.h \
  $(INC)pidrawer.h \
@@ -158,11 +161,8 @@
  $(INC)fmath.h \
  $(INC)histos.h \
- $(INC)objfio.h \
- $(INC)tvector.h \
- $(INC)tmatrix.h \
- $(INC)tarray.h \
- $(INC)basarr.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
+ $(INC)tvector.h \
+ $(INC)tmatrix.h \
+ $(INC)tarray.h \
+ $(INC)basarr.h \
  $(INC)ndatablock.h \
  $(INC)utilarr.h pintuple.h pintup3d.h \
@@ -332,5 +332,7 @@
  $(INC)objfio.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h pimgadapter.h
+ $(INC)utilarr.h \
+ $(INC)fioarr.h \
+ $(INC)tvector.h pimgadapter.h
 $(OBJ)nomskymapadapter.o: nomskymapadapter.cc \
  $(INC)machdefs.h nomskymapadapter.h \
@@ -591,5 +593,8 @@
  $(INC)ppersist.h \
  $(INC)pexceptions.h \
- $(INC)gnumd5.h pisiadw.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h pisiadw.h \
  $(INC)pilistx.h \
  $(INC)pilistgen.h \
@@ -601,7 +606,4 @@
  $(INC)tarray.h \
  $(INC)basarr.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
- $(INC)objfio.h \
  $(INC)ndatablock.h \
  $(INC)utilarr.h pawexecut.h
@@ -634,4 +636,5 @@
  $(INC)ntuple.h \
  $(INC)cimage.h \
+ $(INC)fioarr.h \
  $(INC)histos.h \
  $(INC)histos2.h \
@@ -917,5 +920,8 @@
  $(INC)ppersist.h \
  $(INC)pexceptions.h \
- $(INC)gnumd5.h dlftypes.h piacmd.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h dlftypes.h piacmd.h \
  $(INC)pdlmgr.h pisiadw.h \
  $(INC)pilistx.h \
@@ -927,5 +933,4 @@
  $(INC)ntupintf.h \
  $(INC)histos.h \
- $(INC)objfio.h \
  $(INC)peida.h \
  $(INC)utils.h \
@@ -936,6 +941,4 @@
  $(INC)tarray.h \
  $(INC)basarr.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
  $(INC)ndatablock.h \
  $(INC)utilarr.h \
@@ -946,5 +949,6 @@
  $(INC)generaldata.h \
  $(INC)poly.h nomimagadapter.h \
- $(INC)cimage.h nomtmatvecadapter.h \
+ $(INC)cimage.h \
+ $(INC)fioarr.h nomtmatvecadapter.h \
  nomskymapadapter.h $(INC)pixelmap.h \
  $(INC)spherepos.h \
@@ -1101,5 +1105,8 @@
  $(INC)anydataobj.h \
  $(INC)ppersist.h \
- $(INC)gnumd5.h dlftypes.h piacmd.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h dlftypes.h piacmd.h \
  $(INC)pdlmgr.h pisiadw.h \
  $(INC)pilistx.h \
@@ -1127,5 +1134,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h pistdimgapp.h \
+ $(INC)utilarr.h \
+ $(INC)fioarr.h \
+ $(INC)tvector.h pistdimgapp.h \
  $(INC)pisysdep.h \
  $(INC)piapplx.h \
@@ -1183,5 +1192,4 @@
  $(INC)fmath.h \
  $(INC)histos.h \
- $(INC)tvector.h \
  $(INC)piscdrawwdg.h \
  $(INC)piimgtools.h \
@@ -1215,5 +1223,8 @@
  $(INC)ppersist.h \
  $(INC)pexceptions.h \
- $(INC)gnumd5.h dlftypes.h servnobjm.h \
+ $(INC)gnumd5.h \
+ $(INC)dvlist.h \
+ $(INC)objfio.h \
+ $(INC)mutyv.h dlftypes.h servnobjm.h \
  $(INC)pdlmgr.h nomgadapter.h \
  $(INC)pidrawer.h \
@@ -1273,7 +1284,4 @@
  $(INC)tarray.h \
  $(INC)basarr.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
- $(INC)objfio.h \
  $(INC)ndatablock.h \
  $(INC)utilarr.h \
@@ -1287,4 +1295,5 @@
  $(INC)ntuple.h \
  $(INC)cimage.h \
+ $(INC)fioarr.h \
  $(INC)histos.h \
  $(INC)histos2.h \
Index: /trunk/SophyaPI/PIext/nobjmgr.cc
===================================================================
--- /trunk/SophyaPI/PIext/nobjmgr.cc	(revision 1163)
+++ /trunk/SophyaPI/PIext/nobjmgr.cc	(revision 1164)
@@ -17,4 +17,5 @@
 #include "pistdimgapp.h"
 
+#include "dvlist.h"
 
 // EVOL-PLANCK
@@ -84,4 +85,6 @@
 static Services2NObjMgr* servnobjm=NULL;
 
+static DVList* myVars = NULL;  // Pour stocker les variables
+
 static string* TmpDir;  // Repertoire pour les compilations / link dynamique
 
@@ -112,4 +115,5 @@
   myDirs = new NObjDirList;
   myObjs = new NObjList;  
+  myVars = new DVList;
   currDir = new string("home");
   string dirn = "home";
@@ -144,5 +148,11 @@
 {
 fgOInit--;
-if (fgOInit == 0)  delete myObjs;
+if (fgOInit == 0)  {
+  string patt = "/*/*";
+  DelObjects(patt, true);
+  delete myObjs;
+  delete myDirs;
+  delete myVars;
+}
 }
 
@@ -188,4 +198,36 @@
 {
 return(servnobjm);
+}
+
+/* --Methode-- */
+bool NamedObjMgr::SetVar(string const & key, string const & val)
+{
+  bool fg = myVars->HasKey(key);
+  myVars->SetS(key, val);
+  return(fg);
+}
+
+/* --Methode-- */
+bool NamedObjMgr::HasVar(string const & key)
+{
+  return(myVars->HasKey(key));
+}
+
+/* --Methode-- */
+bool NamedObjMgr::DeleteVar(string const & key)
+{
+  return(myVars->DeleteKey(key));
+}
+
+/* --Methode-- */
+string NamedObjMgr::GetVar(string const & key)
+{
+  return(myVars->GetS(key));
+}
+
+/* --Methode-- */
+DVList& NamedObjMgr::GetVarList()
+{
+  return(*myVars);
 }
 
@@ -545,4 +587,5 @@
 }
 
+
 /* --Methode-- */
 bool NamedObjMgr::DelObj(string & nom, bool fgd)
Index: /trunk/SophyaPI/PIext/nobjmgr.h
===================================================================
--- /trunk/SophyaPI/PIext/nobjmgr.h	(revision 1163)
+++ /trunk/SophyaPI/PIext/nobjmgr.h	(revision 1164)
@@ -8,10 +8,14 @@
 
 #include "machdefs.h"
+
+#include <fstream.h>
+#include <string>
+#include <vector>
+
 #include "anydataobj.h"
 #include "ppersist.h"
+#include "dvlist.h"
 #include "dlftypes.h"
 
-#include <string>
-#include <vector>
 
 class NObjMgrAdapter;
@@ -28,6 +32,12 @@
   virtual void 		SetVerbose(bool fg=false);
 
+// Gestion des variables globales (dans un DVList) 
+  virtual bool          SetVar(string const & key, string const & val);
+  virtual bool          HasVar(string const & key);
+  virtual bool          DeleteVar(string const & key);
+  virtual string        GetVar(string const & key);
+  virtual DVList&       GetVarList();
 
-// Gestion des repertoires
+// Gestion des repertoires (Repertoire d'objets en memoire)
   virtual bool		CreateDir(string & dirname);
   virtual bool		DeleteDir(string & dirname);
@@ -44,11 +54,15 @@
   virtual bool		AddObj(AnyDataObj* obj, string & nom, bool crd=false);
   virtual bool		RenameObj(string & nom, string& nomnew);
-  virtual bool		CopyObj(string & nom, string& nomcp); 
   virtual bool          DelObj(string & nom, bool fgd=true);
   virtual void		DelObjects(string & patt, bool fgd=true); 
   virtual bool          DelObj_Id(int oid);
   virtual AnyDataObj*	GetObj(string & nom);
+// Acces a l'adaptateur
+  virtual NObjMgrAdapter*	GetObjAdapter(string & nom);
+// Liste des objets
   virtual void          ListObjs(string & patt);  		
   virtual void          GetObjList(string & patt, vector<string>& );  		
+// Methode CopyObj() a virer probablement (Reza 30/8/200 obsolete ?) 
+  virtual void          CopyObj(string & nom, string& nomcp)
 
 //  Lecture et sauvegarde des objets sur fichier
@@ -78,6 +92,4 @@
   virtual void		SetGraphicWinZone(int nzx, int nzy, bool fcr=false);
 
-// Acces a l'adaptateur
-  virtual NObjMgrAdapter*	GetObjAdapter(string & nom);
 
 // Acces au PIApplication et a la classe de service 
Index: /trunk/SophyaPI/PIext/nomgadapter.cc
===================================================================
--- /trunk/SophyaPI/PIext/nomgadapter.cc	(revision 1163)
+++ /trunk/SophyaPI/PIext/nomgadapter.cc	(revision 1164)
@@ -30,4 +30,10 @@
 
 /* --Methode-- */
+string NObjMgrAdapter::GetDataObjType()
+{
+  return("AnyDataObj ");
+}
+
+/* --Methode-- */
 AnyDataObj* NObjMgrAdapter::GetCopyObj()
 {
@@ -35,4 +41,36 @@
 cout << "NObjMgrAdapter::GetCopyObj() - Error : Not supported for " << s << endl;
 return(NULL);
+}
+
+/* --Methode-- */
+AnyDataObj* NObjMgrAdapter::CloneObj()
+{
+string s = typeid(*mObj).name();
+cout << "NObjMgrAdapter::CloneObj() - Error : Not supported for " << s << endl;
+return(NULL);
+}
+
+/* --Methode-- */
+void NObjMgrAdapter::CopyFrom(AnyDataObj *)
+{
+string s = typeid(*mObj).name();
+cout << "NObjMgrAdapter::CopyFrom() - Error : Not supported for " << s << endl;
+}
+
+
+/* --Methode-- */
+string NObjMgrAdapter::ToString()
+{
+char buff[128];
+sprintf("%s@%lx", typeid(*mObj).name(), (long)mObj);
+return(buff);
+}
+
+/* --Methode-- */
+void NObjMgrAdapter::FillFromString()
+{
+string s = typeid(*mObj).name();
+cout << "NObjMgrAdapter::FillFromString() - Error : Not supported for " << s << endl;
+ return;
 }
 
Index: /trunk/SophyaPI/PIext/nomgadapter.h
===================================================================
--- /trunk/SophyaPI/PIext/nomgadapter.h	(revision 1163)
+++ /trunk/SophyaPI/PIext/nomgadapter.h	(revision 1164)
@@ -25,6 +25,22 @@
   virtual NObjMgrAdapter*	Clone(AnyDataObj* o);
 
+  // Returns the actual data-object
   virtual AnyDataObj*		GetDataObj();
-  virtual AnyDataObj*		GetCopyObj();
+
+  // 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);
Index: /trunk/SophyaPI/PIext/nomskymapadapter.cc
===================================================================
--- /trunk/SophyaPI/PIext/nomskymapadapter.cc	(revision 1163)
+++ /trunk/SophyaPI/PIext/nomskymapadapter.cc	(revision 1164)
@@ -17,5 +17,5 @@
 public:
 		LocalMapArrAdapter(LocalMap<T>* lm, bool d=false) :
-                    P2DArrayAdapter(lm->XSize(), lm->YSize())
+                    P2DArrayAdapter(lm->SizeX(), lm->SizeY())
 		    { ad = d; map = lm; }
 
