| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Copyright 2014 Citra Emulator Project
- // Licensed under GPLv2 or any later version
- // 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();
- }
- }
|