Index: trunk/SophyaPI/PIext/servnobjm.cc
===================================================================
--- trunk/SophyaPI/PIext/servnobjm.cc	(revision 2419)
+++ trunk/SophyaPI/PIext/servnobjm.cc	(revision 2491)
@@ -47,9 +47,9 @@
 
 /* --Methode-- */
-Services2NObjMgr::Services2NObjMgr(NamedObjMgr* omg, string& tmpdir)
+Services2NObjMgr::Services2NObjMgr(string& tmpdir)
 {
 SetTmpDir(tmpdir);
 mImgapp = NULL;
-mOmg = omg;
+mOmg = NULL;
 dynlink = NULL;
 }
@@ -59,4 +59,5 @@
 {
 CloseDLL();
+if (mOmg) delete mOmg;
 }
 
@@ -237,6 +238,6 @@
   int rsid = mImgapp->DispScDrawer(dr, titre, dopt);
   if (nom.length() > 0) { 
-    mOmg->AddObj(vpy, nom);
-    mOmg->AddWRsId(nom, rsid);
+    MyObjMgr()->AddObj(vpy, nom);
+    MyObjMgr()->AddWRsId(nom, rsid);
     }
   }
@@ -304,6 +305,6 @@
   int rsid = mImgapp->Disp3DDrawer(sdr, titre, dopt);
   if (nom.length() > 0)  { 
-    mOmg->AddObj(mtx, nom);
-    mOmg->AddWRsId(nom, rsid);
+    MyObjMgr()->AddObj(mtx, nom);
+    MyObjMgr()->AddWRsId(nom, rsid);
     }
   }
@@ -327,5 +328,5 @@
  fprintf(fip,"double %s(double ___dummy_variable___) \n{\n",func.c_str());
  // Add all variables already declared
- DVList& varlist = mOmg->GetVarList();
+ DVList& varlist = MyObjMgr()->GetVarList();
  DVList::ValList::const_iterator it;
  for(it = varlist.Begin(); it != varlist.End(); it++) {
@@ -363,5 +364,5 @@
  // Eventually store the result into variable or just print it
  if(resultvarname.size()>0) {
-   if(mOmg->HasVar(resultvarname)) mOmg->DeleteVar(resultvarname);
+   if(MyObjMgr()->HasVar(resultvarname)) MyObjMgr()->DeleteVar(resultvarname);
    char str[512];
    if(result==0.) sprintf(str,"%f",result);
@@ -371,5 +372,5 @@
      else                   sprintf(str,"%.17e",result);
    }
-   mOmg->SetVar(resultvarname,(string)str);
+   MyObjMgr()->SetVar(resultvarname,(string)str);
  } else cout<<result<<" = "<<expval<<endl;
 
@@ -382,5 +383,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::DisplayPoints2D() Error , No such object " << nom << endl; 
@@ -422,5 +423,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::DisplayPoints3D() Error , No such object " << nom << endl; 
@@ -461,5 +462,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::DisplayPoints2DW() Error , No such object " << nom << endl; 
@@ -494,5 +495,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::ProjectH1() Error , No such object " << nom << endl; 
@@ -504,5 +505,5 @@
 NTuple* nt = NULL;
 AnyDataObj* oh = NULL; 
-if (nomh1.length() > 0) oh=mOmg->GetObj(nomh1);
+if (nomh1.length() > 0) oh=MyObjMgr()->GetObj(nomh1);
 else nomh1 = "/tmp/projh1d";
 if ( (oh != NULL) && (typeid(*oh) == typeid(Histo)) )  h1 = (Histo*)oh;  // Pas de remise a zero ! h1->Zero();
@@ -531,8 +532,8 @@
     }
   delete nt;
-  mOmg->AddObj(h1, nomh1);
-  }
-
-mOmg->DisplayObj(nomh1, dopt);
+  MyObjMgr()->AddObj(h1, nomh1);
+  }
+
+MyObjMgr()->DisplayObj(nomh1, dopt);
 return;  
 }
@@ -543,5 +544,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::ProjectH2() Error , No such object " << nom << endl; 
@@ -553,5 +554,5 @@
 NTuple* nt = NULL;
 AnyDataObj* oh = NULL;
-if (nomh2.length() > 0)  oh=mOmg->GetObj(nomh2);
+if (nomh2.length() > 0)  oh=MyObjMgr()->GetObj(nomh2);
 else nomh2 = "/tmp/projh2d";
 if ( (oh != NULL) && (typeid(*oh) == typeid(Histo2D)) )  h2 = (Histo2D*)oh;  // Pas de remise a zero ! h2->Zero();
@@ -581,8 +582,8 @@
     }
   delete nt;
-  mOmg->AddObj(h2, nomh2);
-  }
-
-mOmg->DisplayObj(nomh2, dopt);
+  MyObjMgr()->AddObj(h2, nomh2);
+  }
+
+MyObjMgr()->DisplayObj(nomh2, dopt);
 return;  
 
@@ -604,5 +605,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::ProjectHProf() Error , No such object " << nom << endl; 
@@ -614,5 +615,5 @@
 NTuple* nt = NULL;
 AnyDataObj* oh = NULL;
-if (nomprof.length() > 0)  oh=mOmg->GetObj(nomprof);
+if (nomprof.length() > 0)  oh=MyObjMgr()->GetObj(nomprof);
 else nomprof = "/tmp/projprof";
 if( (oh!=NULL) && (typeid(*oh) == typeid(HProf)) )  hprof = (HProf*)oh;
@@ -641,9 +642,9 @@
     }
   delete nt;
-  mOmg->AddObj(hprof, nomprof);
+  MyObjMgr()->AddObj(hprof, nomprof);
   }
 hprof->UpdateHisto();
 
-mOmg->DisplayObj(nomprof, dopt);
+MyObjMgr()->DisplayObj(nomprof, dopt);
 return;
 }
@@ -655,5 +656,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::FillVect() Error , No such object: " << nom << endl; 
@@ -664,5 +665,5 @@
 Vector* v1 = NULL;
 AnyDataObj* ov = NULL; 
-ov=mOmg->GetObj(nomvec);
+ov=MyObjMgr()->GetObj(nomvec);
 if (ov != NULL) v1 = dynamic_cast<Vector *>(ov);
 if (v1 == NULL) {
@@ -695,5 +696,5 @@
   
 
-mOmg->DisplayObj(nomvec, dopt);
+MyObjMgr()->DisplayObj(nomvec, dopt);
 return;  
 }
@@ -704,5 +705,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::FillMatx() Error , No such objet " << nom << endl; 
@@ -713,5 +714,5 @@
 Matrix* mtx = NULL;
 AnyDataObj* om = NULL; 
-om=mOmg->GetObj(nommtx);
+om=MyObjMgr()->GetObj(nommtx);
 if (om != NULL) mtx = dynamic_cast<Matrix *>(om);
 if (mtx == NULL) {
@@ -746,5 +747,5 @@
   
 
-mOmg->DisplayObj(nommtx, dopt);
+MyObjMgr()->DisplayObj(nommtx, dopt);
 return;  
 
@@ -756,5 +757,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::ExpressionToVector() Error , No such object " << nom << endl; 
@@ -789,6 +790,6 @@
   }
 delete nt;
-mOmg->AddObj(vec, nomvec); 
-mOmg->DisplayObj(nomvec, dopt);
+MyObjMgr()->AddObj(vec, nomvec); 
+MyObjMgr()->DisplayObj(nomvec, dopt);
 return;  
 }
@@ -801,5 +802,5 @@
 //	les sur-numeraires sont mises a "def_val" par defaut.
 {
-AnyDataObj* mobj = mOmg->GetObj(nom);
+AnyDataObj* mobj = MyObjMgr()->GetObj(nom);
 if(mobj == NULL)
   {cout<<"NtFromASCIIFile() Error, object "<<nom<<" not existing"<<endl;
@@ -820,5 +821,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::FillNT() Error , No such object " << nom << endl; 
@@ -830,5 +831,5 @@
 NTuple* nt = NULL;
 AnyDataObj* oh = NULL;
-if (nomnt.length() > 0)  oh=mOmg->GetObj(nomnt);
+if (nomnt.length() > 0)  oh=MyObjMgr()->GetObj(nomnt);
 else nomnt = "/tmp/fillnt";
 if ( (oh != NULL) && (typeid(*oh) == typeid(NTuple)) )  { 
@@ -847,5 +848,5 @@
 ComputeExpressions(obja, expx, expy, expz, expt, expcut, loop, nt, NULL, NULL);
 
-if (fgnnt) mOmg->AddObj(nt, nomnt);
+if (fgnnt) MyObjMgr()->AddObj(nt, nomnt);
 return;  
 
@@ -859,5 +860,5 @@
 
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::FillNTFrCFile( " << nom << "...) No such object" <<endl;
@@ -882,5 +883,5 @@
 if (nomnt.length() > 0) {
   AnyDataObj* oh = NULL;
-  oh=mOmg->GetObj(nomnt);
+  oh=MyObjMgr()->GetObj(nomnt);
   if ( (oh != NULL) && (typeid(*oh) == typeid(NTuple)) )  { 
     nt = (NTuple*)oh;
@@ -953,5 +954,5 @@
 mImgapp->RedirectStdOutErr(red);
 
-if (fgnnt) mOmg->AddObj(nt, nomnt);
+if (fgnnt) MyObjMgr()->AddObj(nt, nomnt);
 return;
 }
@@ -962,5 +963,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::PrepareNTExpressionCFile( " << nom << "...) No such object" <<endl;
@@ -1044,5 +1045,5 @@
 {
 NObjMgrAdapter* obja=NULL;
-obja = mOmg->GetObjAdapter(nom);
+obja = MyObjMgr()->GetObjAdapter(nom);
 if (obja == NULL) {
   cout << "Services2NObjMgr::FillGFD() Error , No such object "<<nom<<endl;
@@ -1082,5 +1083,5 @@
 // Menage et table d'objets
 delete nt;
-mOmg->AddObj(gfd, nomgfd);
+MyObjMgr()->AddObj(gfd, nomgfd);
 return;
 }
@@ -1154,5 +1155,5 @@
 // Menage et table d'objets
 if( omg.GetObj(nomgfd) != NULL ) omg.DelObj(nomgfd);
-mOmg->AddObj(gfd,nomgfd);
+MyObjMgr()->AddObj(gfd,nomgfd);
 return;
 }
