diff options
author | ted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2010-04-08 23:06:23 +0000 |
---|---|---|
committer | ted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2010-04-08 23:06:23 +0000 |
commit | b223627d81c083a64f2ccecf2651a18111421280 (patch) | |
tree | bfe59da685835b8d13b073f11cddaf4c5997282f /src/google_breakpad/processor/source_line_resolver_interface.h | |
parent | Include what you use. (diff) | |
download | breakpad-b223627d81c083a64f2ccecf2651a18111421280.tar.xz |
provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@569 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/google_breakpad/processor/source_line_resolver_interface.h')
-rw-r--r-- | src/google_breakpad/processor/source_line_resolver_interface.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/google_breakpad/processor/source_line_resolver_interface.h b/src/google_breakpad/processor/source_line_resolver_interface.h index a7ec9b7f..fa45d75f 100644 --- a/src/google_breakpad/processor/source_line_resolver_interface.h +++ b/src/google_breakpad/processor/source_line_resolver_interface.h @@ -36,6 +36,7 @@ #include <string> #include "google_breakpad/common/breakpad_types.h" +#include "google_breakpad/processor/code_module.h" namespace google_breakpad { @@ -53,37 +54,40 @@ class SourceLineResolverInterface { // Adds a module to this resolver, returning true on success. // - // module_name may be an arbitrary string. Typically, it will be the - // filename of the module, optionally with version identifiers. + // module should have at least the code_file, debug_file, + // and debug_identifier members populated. // // map_file should contain line/address mappings for this module. - virtual bool LoadModule(const string &module_name, + virtual bool LoadModule(const CodeModule *module, const string &map_file) = 0; // Same as above, but takes the contents of a pre-read map buffer - virtual bool LoadModuleUsingMapBuffer(const string &module_name, + virtual bool LoadModuleUsingMapBuffer(const CodeModule *module, const string &map_buffer) = 0; - // Returns true if a module with the given name has been loaded. - virtual bool HasModule(const string &module_name) const = 0; + // Request that the specified module be unloaded from this resolver. + // A resolver may choose to ignore such a request. + virtual void UnloadModule(const CodeModule *module) = 0; + + // Returns true if the module has been loaded. + virtual bool HasModule(const CodeModule *module) = 0; // Fills in the function_base, function_name, source_file_name, // and source_line fields of the StackFrame. The instruction and // module_name fields must already be filled in. - virtual void FillSourceLineInfo(StackFrame *frame) const = 0; + virtual void FillSourceLineInfo(StackFrame *frame) = 0; // If Windows stack walking information is available covering // FRAME's instruction address, return a WindowsFrameInfo structure // describing it. If the information is not available, returns NULL. // A NULL return value does not indicate an error. The caller takes // ownership of any returned WindowsFrameInfo object. - virtual WindowsFrameInfo *FindWindowsFrameInfo(const StackFrame *frame) - const = 0; + virtual WindowsFrameInfo *FindWindowsFrameInfo(const StackFrame *frame) = 0; // If CFI stack walking information is available covering ADDRESS, // return a CFIFrameInfo structure describing it. If the information // is not available, return NULL. The caller takes ownership of any // returned CFIFrameInfo object. - virtual CFIFrameInfo *FindCFIFrameInfo(const StackFrame *frame) const = 0; + virtual CFIFrameInfo *FindCFIFrameInfo(const StackFrame *frame) = 0; protected: // SourceLineResolverInterface cannot be instantiated except by subclasses |