Modify symbol supplier interface to support an overload that takes a symbol data buffer, to get around an extraneous read/write of symbol data

R=doshimun



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@311 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
nealsid 2009-02-19 21:26:20 +00:00
parent a285652cba
commit 0fd2f1ae21
7 changed files with 166 additions and 40 deletions

View file

@ -62,15 +62,16 @@ SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFile(
for (unsigned int path_index = 0; path_index < paths_.size(); ++path_index) {
SymbolResult result;
if ((result = GetSymbolFileAtPath(module, system_info, paths_[path_index],
symbol_file)) != NOT_FOUND) {
if ((result = GetSymbolFileAtPathFromRoot(module, system_info,
paths_[path_index],
symbol_file)) != NOT_FOUND) {
return result;
}
}
return NOT_FOUND;
}
SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFileAtPath(
SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFileAtPathFromRoot(
const CodeModule *module, const SystemInfo *system_info,
const string &root_path, string *symbol_file) {
BPLOG_IF(ERROR, !symbol_file) << "SimpleSymbolSupplier::GetSymbolFileAtPath "