Ensure memory is handled properly with userdata
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-06-14 17:35:05 +02:00
parent 3217fd1479
commit 2c313791d9
5 changed files with 19 additions and 11 deletions

View File

@@ -6,14 +6,19 @@
#include "UserData.hpp"
class UserDataStorage {
static std::unordered_map<int, UserData*> _userData;
class _internalDataStorage{
public:
std::unordered_map<int, shared_ptr<UserData>> _userData;
};
static _internalDataStorage _internal;
public:
static void RegisterType(int i, UserData* ud){
UserDataStorage::_userData.insert({i, ud});
UserDataStorage::_internal._userData.insert({i, shared_ptr<UserData>(ud)});
}
static UserData* GetUserDataType(int i){
return UserDataStorage::_userData[i];
static shared_ptr<UserData> GetUserDataType(int i){
return UserDataStorage::_internal._userData[i];
}
};