Changeset 1834 for code/branches/network/src/network/Synchronisable.cc
- Timestamp:
- Sep 26, 2008, 12:59:48 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/network/src/network/Synchronisable.cc
r1827 r1834 65 65 RegisterRootObject(Synchronisable); 66 66 static unsigned int idCounter=0; 67 datasize=0;68 67 objectFrequency_=1; 69 objectMode_=0x1; // by default do not send data to server e68 objectMode_=0x1; // by default do not send data to server 70 69 objectID=idCounter++; 70 // COUT(3) << " bump +++" << objectID << " | " << &objectMap_ << std::endl; 71 71 syncList = new std::list<synchronisableVariable *>; 72 72 } … … 81 81 for(std::list<synchronisableVariable *>::iterator it = syncList->begin(); it!=syncList->end(); it++) 82 82 delete (*it)->callback; 83 assert(objectMap_[objectID]->objectID==objectID); 84 objectMap_.erase(objectID); 83 // COUT(3) << " bump ---" << objectID << " | " << &objectMap_ << std::endl; 84 // assert(objectMap_[objectID]->objectID==objectID); 85 // objectMap_.erase(objectID); 85 86 } 86 87 } … … 92 93 */ 93 94 bool Synchronisable::create(){ 94 objectMap_[objectID]=this;95 assert(objectMap_[objectID]==this);96 95 this->classID = this->getIdentifier()->getNetworkID(); 97 96 COUT(4) << "creating synchronisable: setting classid from " << this->getIdentifier()->getName() << " to: " << classID << std::endl; 97 98 // objectMap_[objectID]=this; 99 // assert(objectMap_[objectID]==this); 100 // assert(objectMap_[objectID]->objectID==objectID); 98 101 return true; 99 102 } … … 145 148 assert(getSynchronisable(objectID)); 146 149 assert(getSynchronisable(objectID)->objectID==objectID); 147 delete objectMap_[objectID]; 150 // delete objectMap_[objectID]; 151 Synchronisable *s = getSynchronisable(objectID); 152 if(s) 153 delete s; 154 else 155 return false; 148 156 return true; 149 157 } … … 155 163 */ 156 164 Synchronisable* Synchronisable::getSynchronisable(unsigned int objectID){ 157 std::map<unsigned int, Synchronisable *>::iterator i = objectMap_.find(objectID); 158 if(i==objectMap_.end()) 159 return NULL; 160 assert(i->second->objectID==objectID); 161 return (*i).second; 165 orxonox::ObjectList<Synchronisable>::iterator it; 166 for(it = orxonox::ObjectList<Synchronisable>::begin(); it; ++it){ 167 if( it->getObjectID()==objectID ) 168 return *it; 169 } 170 return NULL; 171 172 // std::map<unsigned int, Synchronisable *>::iterator i = objectMap_.find(objectID); 173 // if(i==objectMap_.end()) 174 // return NULL; 175 // assert(i->second->objectID==objectID); 176 // return (*i).second; 162 177 } 163 178 … … 181 196 temp->callback = cb; 182 197 COUT(5) << "Syncronisable::registering var with size: " << temp->size << " and type: " << temp->type << std::endl; 183 // increase datasize184 datasize+=sizeof(int)+size;185 198 //std::cout << "push temp to syncList (at the bottom) " << datasize << std::endl; 186 199 COUT(5) << "Syncronisable::objectID: " << objectID << " this: " << this << " name: " << this->getIdentifier()->getName() << " networkID: " << this->getIdentifier()->getNetworkID() << std::endl;
Note: See TracChangeset
for help on using the changeset viewer.