[Orxonox-commit 326] r2951 - branches/netp2/src/network
scheusso at orxonox.net
scheusso at orxonox.net
Mon May 4 16:03:02 CEST 2009
Author: scheusso
Date: 2009-05-04 16:03:02 +0200 (Mon, 04 May 2009)
New Revision: 2951
Modified:
branches/netp2/src/network/NetworkFunction.h
Log:
small fix for memberfunction calls with non-existing (or not anymore existing) objects (these calls are being ignored from now on)
Modified: branches/netp2/src/network/NetworkFunction.h
===================================================================
--- branches/netp2/src/network/NetworkFunction.h 2009-05-04 13:40:08 UTC (rev 2950)
+++ branches/netp2/src/network/NetworkFunction.h 2009-05-04 14:03:02 UTC (rev 2951)
@@ -143,12 +143,36 @@
NetworkMemberFunction(FunctorMember<T>* functor, std::string name, const NetworkFunctionPointer& p);
~NetworkMemberFunction();
- inline void call(uint32_t objectID){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID))); }
- inline void call(uint32_t objectID, const MultiType& mt1){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1); }
- inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2); }
- inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3); }
- inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4); }
- inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4, const MultiType& mt5){ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4, mt5); }
+ inline void call(uint32_t objectID)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)));
+ }
+ inline void call(uint32_t objectID, const MultiType& mt1)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1);
+ }
+ inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2);
+ }
+ inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3);
+ }
+ inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4);
+ }
+ inline void call(uint32_t objectID, const MultiType& mt1, const MultiType& mt2, const MultiType& mt3, const MultiType& mt4, const MultiType& mt5)
+ {
+ if ( Synchronisable::getSynchronisable(objectID)!=0 )
+ (*this->functor_)(dynamic_cast<T*>(Synchronisable::getSynchronisable(objectID)), mt1, mt2, mt3, mt4, mt5);
+ }
private:
FunctorMember<T>* functor_;
More information about the Orxonox-commit
mailing list