diff options
author | Mathieu Vaillancourt <vaillancourtm@gmail.com> | 2014-04-13 00:57:58 +0200 |
---|---|---|
committer | Mathieu Vaillancourt <vaillancourtm@gmail.com> | 2014-04-13 01:04:31 +0200 |
commit | d046cfbba1dd2bcdad4ace3be706dadf3f6cc288 (patch) | |
tree | d880f04c199bd08751b4f30a4eee5939d56e06cd /src/common/symbols.cpp | |
parent | Fixed GPLv2 license issue (diff) | |
download | yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar.gz yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar.bz2 yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar.lz yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar.xz yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.tar.zst yuzu-d046cfbba1dd2bcdad4ace3be706dadf3f6cc288.zip |
Diffstat (limited to 'src/common/symbols.cpp')
-rw-r--r-- | src/common/symbols.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/common/symbols.cpp b/src/common/symbols.cpp new file mode 100644 index 000000000..dcc9eeac5 --- /dev/null +++ b/src/common/symbols.cpp @@ -0,0 +1,57 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#include "common/symbols.h" + +TSymbolsMap g_symbols; + +namespace Symbols +{ + bool HasSymbol(u32 _address) + { + return g_symbols.find(_address) != g_symbols.end(); + } + + void Add(u32 _address, const std::string& _name, u32 _size, u32 _type) + { + if (!HasSymbol(_address)) + { + TSymbol symbol; + symbol.address = _address; + symbol.name = _name; + symbol.size = _size; + symbol.type = _type; + + g_symbols.insert(TSymbolsPair(_address, symbol)); + } + } + + TSymbol GetSymbol(u32 _address) + { + TSymbolsMap::iterator foundSymbolItr; + TSymbol symbol; + + foundSymbolItr = g_symbols.find(_address); + if (foundSymbolItr != g_symbols.end()) + { + symbol = (*foundSymbolItr).second; + } + + return symbol; + } + const std::string& GetName(u32 _address) + { + return GetSymbol(_address).name; + } + + void Remove(u32 _address) + { + g_symbols.erase(_address); + } + + void Clear() + { + g_symbols.clear(); + } +}
\ No newline at end of file |