Changeset 6964 for code/branches/presentation3/src/libraries
- Timestamp:
- May 22, 2010, 8:43:39 PM (15 years ago)
- Location:
- code/branches/presentation3/src/libraries/network
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentation3/src/libraries/network/packet/ClassID.cc
r6960 r6964 90 90 tempsize+=2*sizeof(uint32_t)+tempPair.second.size()+1; 91 91 } 92 assert(tempsize= packetSize);92 assert(tempsize==packetSize); 93 93 94 94 COUT(5) << "classid packetSize is " << packetSize << endl; -
code/branches/presentation3/src/libraries/network/synchronisable/Serialise.h
r6961 r6964 111 111 return *(uint32_t*)(mem) == OBJECTID_UNKNOWN; 112 112 } 113 114 // These functions implement loading / saving / etc. for WeakPtr<T> 115 116 /** @brief returns the size of the objectID needed to synchronise the pointer */ 117 template <class T> inline uint32_t returnSize( const WeakPtr<T>& variable ) 118 { 119 return sizeof(uint32_t); 120 } 121 122 /** @brief reads the objectID of a pointer out of the bytestream and increases the mem pointer */ 123 template <class T> inline void loadAndIncrease( const WeakPtr<T>& variable, uint8_t*& mem ) 124 { 125 // *const_cast<typename Loki::TypeTraits<T*>::UnqualifiedType*>(&variable) = dynamic_cast<T*>(variable->getSynchronisable( *(uint32_t*)(mem) )); 126 *const_cast<typename Loki::TypeTraits<SmartPtr<T> >::UnqualifiedType*>(&variable) = orxonox_cast<T*>(T::getSynchronisable(*(uint32_t*)(mem))); 127 mem += returnSize( variable ); 128 } 129 130 /** @brief saves the objectID of a pointer into the bytestream and increases the mem pointer */ 131 template <class T> inline void saveAndIncrease( const WeakPtr<T>& variable, uint8_t*& mem ) 132 { 133 if ( variable.get() ) 134 *(uint32_t*)(mem) = static_cast<uint32_t>(variable->getObjectID()); 135 else 136 *(uint32_t*)(mem) = OBJECTID_UNKNOWN; 137 mem += returnSize( variable ); 138 } 139 140 /** @brief checks whether the objectID of the variable is the same as in the bytestream */ 141 template <class T> inline bool checkEquality( const WeakPtr<T>& variable, uint8_t* mem ) 142 { 143 if ( variable.get() ) 144 return *(uint32_t*)(mem) == variable->getObjectID(); 145 else 146 return *(uint32_t*)(mem) == OBJECTID_UNKNOWN; 147 } 113 148 } 114 149
Note: See TracChangeset
for help on using the changeset viewer.