Changeset 2490 in Sophya for trunk/SophyaPI/PIext/nobjmgr.cc


Ignore:
Timestamp:
Jan 2, 2004, 12:31:36 AM (22 years ago)
Author:
ansari
Message:

Suite modifs pour piapp multi-thread - introduction de lock lors de la mise a jour de la fenetre ObjMgr par NamedObjMgr - Reza 1 Jan 2004

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/nobjmgr.cc

    r2460 r2490  
    108108
    109109/* --Methode-- */
    110 NamedObjMgr::NamedObjMgr()
    111 {
     110NamedObjMgr::NamedObjMgr(bool fgimgapp)
     111{
     112_fgimgapp = fgimgapp;
    112113if (fgOInit == 0) {
    113114  myNObj = 0;
     
    302303if (myImgApp)  {
    303304  string str = '/' + dirname;
     305  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
    304306  (myImgApp->ObjMgrW())->AddDirectory(str.c_str(), myDirId);
    305307  }
     
    333335  }
    334336
    335 if (myImgApp) 
     337if (myImgApp) {
     338  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
    336339  (myImgApp->ObjMgrW())->DelDirectory((*it).second.id);
     340}
    337341myDirs->erase(it);
    338342if (verbeux) cout << "NamedObjMgr::DeleteDir() " << dirname << " deleted " << endl; 
     
    459463list<string>::iterator ii;
    460464for(ii=odel.begin(); ii != odel.end(); ii++)  DelObj(*ii,true);
    461 if (myImgApp) 
     465if (myImgApp) {
     466  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
    462467  (myImgApp->ObjMgrW())->UpdateList(did);
     468}
    463469}
    464470
     
    561567(*itr).second.nobj++;
    562568
    563 if ( (myImgApp != NULL) && (myImgApp->ObjMgrW())->Visible() ) {
    564   string oln = nobj + "  (T= " + no.obja->GetDataObjType() + ")" ;
    565   (myImgApp->ObjMgrW())->AddObjList(did, oln.c_str(), no.oid);
    566   }
     569if (myImgApp != NULL) {
     570  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
     571  if ( (myImgApp->ObjMgrW())->Visible() ) {
     572    string oln = nobj + "  (T= " + no.obja->GetDataObjType() + ")" ;
     573    (myImgApp->ObjMgrW())->AddObjList(did, oln.c_str(), no.oid);
     574  }
     575}
    567576if (verbeux) cout << "NamedObjMgr::AddObj()  Object " << nom << " ( " 
    568577     << typeid(*obj).name() << " ) added (Total= " << myObjs->size() << ")" << endl; 
     
    632641(*itr).second.nobj++;
    633642
    634 if ( (myImgApp != NULL) && (myImgApp->ObjMgrW())->Visible() ) {
    635   (myImgApp->ObjMgrW())->DelObjList(dids, no.oid);
    636   string oln = n2 + "  (T= " + no.obja->GetDataObjType() + ")" ;
    637   (myImgApp->ObjMgrW())->AddObjList(did, oln.c_str(), no.oid);
     643if (myImgApp != NULL) {
     644  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
     645  if ( (myImgApp->ObjMgrW())->Visible() ) {
     646    (myImgApp->ObjMgrW())->DelObjList(dids, no.oid);
     647    string oln = n2 + "  (T= " + no.obja->GetDataObjType() + ")" ;
     648    (myImgApp->ObjMgrW())->AddObjList(did, oln.c_str(), no.oid);
     649  }
    638650}
    639651if (verbeux)
     
    681693if (fgd) delete (*it).second.obj;
    682694
    683 if ( (myImgApp != NULL) && (myImgApp->ObjMgrW())->Visible() ) {
    684   int olid = (*it).second.oid;
    685   (myImgApp->ObjMgrW())->DelObjList(did, olid);
     695if (myImgApp != NULL) {
     696  if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
     697  if ( (myImgApp->ObjMgrW())->Visible() ) {
     698    int olid = (*it).second.oid;
     699    (myImgApp->ObjMgrW())->DelObjList(did, olid);
     700  }
    686701}
    687702myObjs->erase(it);
     
    14741489{
    14751490if (!myImgApp)  return;
     1491if ( !_fgimgapp )  ZSync(myImgApp->getMutex(),2);
     1492
    14761493(myImgApp->ObjMgrW())->ClearObjList();
    14771494
Note: See TracChangeset for help on using the changeset viewer.