Work on making userdata work through extern C entry points
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-06-14 22:21:33 +02:00
parent 2c313791d9
commit 7c345d85e8
22 changed files with 128 additions and 51 deletions

View File

@@ -8,16 +8,20 @@
class UserDataStorage {
class _internalDataStorage{
public:
std::unordered_map<int, shared_ptr<UserData>> _userData;
std::unordered_map<uint32_t, shared_ptr<UserData>> _userData;
};
static _internalDataStorage _internal;
public:
static void RegisterType(int i, UserData* ud){
static void RegisterType(uint32_t i, UserData* ud){
UserDataStorage::_internal._userData.insert({i, shared_ptr<UserData>(ud)});
}
static shared_ptr<UserData> GetUserDataType(int i){
static bool HasUserDataType(uint32_t i){
return UserDataStorage::_internal._userData.find(i) != UserDataStorage::_internal._userData.end();
}
static shared_ptr<UserData> GetUserDataType(uint32_t i){
return UserDataStorage::_internal._userData[i];
}
};