Changes in src/Atom/atom.cpp [d05088:c32d21]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/Atom/atom.cpp ¶
rd05088 rc32d21 58 58 mol(0) 59 59 { 60 // note AtomObserver about inserted atom60 // sign on to global atom change tracker 61 61 AtomObserver::getInstance().AtomInserted(this); 62 62 } … … 69 69 mol(0) 70 70 { 71 // sign on to father atom to be notified when it is removed 72 father->signOn(this); 73 74 // note AtomObserver about inserted atom 71 // sign on to global atom change tracker 75 72 AtomObserver::getInstance().AtomInserted(this); 76 73 }; … … 87 84 atom::~atom() 88 85 { 89 // sign off from possible father90 if ((father != this) && (father != NULL))91 father->signOff(this);92 93 86 removeFromMolecule(); 94 // note AtomObserver about removed atom87 // sign off from global atom change tracker 95 88 AtomObserver::getInstance().AtomRemoved(this); 96 89 } … … 132 125 return father->GetTrueFather(); 133 126 } 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 } 127 }; 145 128 146 129 /** Sets father to itself or its father in case of copying a molecule. … … 342 325 return atom1->getType()->getAtomicNumber() < atom2->getType()->getAtomicNumber(); 343 326 } 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, hence356 // 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 instances358 // we are signed on to.359 father = this;360 // no need to sign off361 }
Note:
See TracChangeset
for help on using the changeset viewer.