Changeset 368 in Sophya for trunk/SophyaPI/PIext/nobjmgr.cc
- Timestamp:
- Aug 9, 1999, 1:57:10 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nobjmgr.cc
r344 r368 91 91 static string* TmpDir; // Repertoire pour les compilations / link dynamique 92 92 93 static bool BeQuiet = false; // Moins de messages ... 94 93 95 // Pour completer le nom de l'objet avec le nom du repertoire 94 96 static void RemoveSpacesFromName(string & nom); … … 121 123 SetKeepOldDirAtt(dirn, true); 122 124 dirn = "tmp"; 125 CreateDir(dirn); 126 SetKeepOldDirAtt(dirn, false); 127 dirn = "func"; 123 128 CreateDir(dirn); 124 129 SetKeepOldDirAtt(dirn, false); … … 239 244 (myImgApp->ObjMgrW())->DelDirectory((*it).second.id); 240 245 myDirs->erase(it); 241 cout << " amedObjMgr::DeleteDir() " << dirname << " deleted " << endl;246 cout << "NamedObjMgr::DeleteDir() " << dirname << " deleted " << endl; 242 247 return(true); 243 248 } … … 334 339 335 340 /* --Methode-- */ 336 void NamedObjMgr::CleanTmpDir() 337 { 338 } 339 340 /* --Methode-- */ 341 void NamedObjMgr::CleanOldDir() 342 { 343 } 341 void NamedObjMgr::CleanDir(string & dirname) 342 { 343 if ( !CheckDirName(dirname) ) { 344 cout << "NamedObjMgr::CleanDir( " << dirname << ") Error - Invalid name !" << endl; 345 return(false); 346 } 347 NObjDirList::iterator itr = myDirs->find(dirname); 348 if (itr == myDirs->end()) { 349 cout << "NamedObjMgr::CleanDir( " << dirname << ") Error - No such directory !" << endl; 350 return(false); 351 } 352 353 int did = (*itr).second.id; 354 NObjList::iterator it; 355 list<int>::iterator iwr; 356 bool nodisp = true; 357 list<string> odel; 358 for(it = myObjs->begin(); it != myObjs->end(); it++) { 359 if ((*it).second.dirid != did) continue; 360 nodisp = true; 361 if (myImgApp) 362 for(iwr=(*it).second.wrsid.begin(); iwr != (*it).second.wrsid.end(); iwr++) 363 if (myImgApp->CheckWRsId(*iwr)) { nodisp = false; break; } 364 if (nodisp) odel.push_back((*it).first); 365 } 366 list<string>::iterator ii; 367 for(ii=odel.begin(); ii != odel.end(); ii++) DelObj(*ii,true); 368 } 369 344 370 345 371 … … 390 416 } 391 417 418 // Si c'est le repertoire /func, on nettoie 419 if (nrep == "func") { 420 BeQuiet = true; 421 CleanDir(nrep); 422 BeQuiet = false; 423 } 424 392 425 myNObj++; 393 426 if (nobj.length() < 1) { … … 404 437 it = myObjs->find(nom); 405 438 if (it != myObjs->end()) { // l'objet existe deja 406 if ( (*itr).second.keepold ) { // On met l'ancien objet dans /old 439 if (nrep == "func") { // Dans /func , on garde les objets affiches, donc del. par Clean 440 sprintf(buff, "%d", (*it).second.oid); 441 string nomnew = "/func/" + nobj + buff; 442 RenameObj(nom, nomnew); 443 } 444 else if ( (*itr).second.keepold ) { // On met l'ancien objet dans /old 407 445 string on,od; 408 446 // ParseObjectName((*it).first, od, on); … … 501 539 (*itr).second.nobj--; 502 540 541 if (BeQuiet) return(true); 503 542 if (fgd) cout << "NamedObjMgr::DelObj() Object " << nom << " deleted (Total= " << myObjs->size() << ")" << endl; 504 543 else cout << "NamedObjMgr::DelObj() Object " << nom << " removed (Total= " << myObjs->size() << ")" << endl;
Note:
See TracChangeset
for help on using the changeset viewer.