interface
| 167 | |
| 168 | // interface |
| 169 | void *asCModule::GetUserData(asPWORD type) const |
| 170 | { |
| 171 | // There may be multiple threads reading, but when |
| 172 | // setting the user data nobody must be reading. |
| 173 | ACQUIRESHARED(m_engine->engineRWLock); |
| 174 | |
| 175 | for( asUINT n = 0; n < m_userData.GetLength(); n += 2 ) |
| 176 | { |
| 177 | if( m_userData[n] == type ) |
| 178 | { |
| 179 | void *ud = reinterpret_cast<void*>(m_userData[n+1]); |
| 180 | RELEASESHARED(m_engine->engineRWLock); |
| 181 | return ud; |
| 182 | } |
| 183 | } |
| 184 | |
| 185 | RELEASESHARED(m_engine->engineRWLock); |
| 186 | |
| 187 | return 0; |
| 188 | } |
| 189 | |
| 190 | // interface |
| 191 | asIScriptEngine *asCModule::GetEngine() const |