Changes in src/Atom/atom.cpp [c32d21:d05088]
- File:
-
- 1 edited
-
src/Atom/atom.cpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Atom/atom.cpp
rc32d21 rd05088 58 58 mol(0) 59 59 { 60 // sign on to global atom change tracker60 // note AtomObserver about inserted atom 61 61 AtomObserver::getInstance().AtomInserted(this); 62 62 } … … 69 69 mol(0) 70 70 { 71 // sign on to global atom change tracker 71 // sign on to father atom to be notified when it is removed 72 father->signOn(this); 73 74 // note AtomObserver about inserted atom 72 75 AtomObserver::getInstance().AtomInserted(this); 73 76 }; … … 84 87 atom::~atom() 85 88 { 89 // sign off from possible father 90 if ((father != this) && (father != NULL)) 91 father->signOff(this); 92 86 93 removeFromMolecule(); 87 // sign off from global atom change tracker94 // note AtomObserver about removed atom 88 95 AtomObserver::getInstance().AtomRemoved(this); 89 96 } … … 125 132 return father->GetTrueFather(); 126 133 } 127 }; 134 } 135 136 void atom::setFather(atom * const _father) 137 { 138 // sign off from old father 139 if ((father != this) && (father != NULL)) 140 father->signOff(this); 141 142 father = _father; 143 father->signOn(this); 144 } 128 145 129 146 /** Sets father to itself or its father in case of copying a molecule. … … 325 342 return atom1->getType()->getAtomicNumber() < atom2->getType()->getAtomicNumber(); 326 343 } 344 /* 345 void atom::update(Observable *publisher) 346 {} 347 348 void atom::recieveNotification(Observable *publisher, Notification_ptr notification) 349 { 350 ASSERT(0, "atom::recieveNotification() - we are not signed on to any notifications."); 351 } 352 */ 353 void atom::subjectKilled(Observable *publisher) 354 { 355 // as publisher has been half-deallocated (Observable is one of the base classes, hence 356 // becomes destroyed latest), we cannot senibly cast it anymore. 357 // Hence, we simply have to check here whether it is NOT one of the other instances 358 // we are signed on to. 359 father = this; 360 // no need to sign off 361 }
Note:
See TracChangeset
for help on using the changeset viewer.
