1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_
6 #define CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_
8 #include "base/strings/string16.h"
10 // Represents and facilitates operations on the address range corresponding to a
13 ModuleInfo() : base_address(0), size(0) {
16 ModuleInfo(const base::char16
* const module_name
,
17 uintptr_t module_base_address
,
20 base_address(module_base_address
),
23 // Sorts modules by their base address.
24 bool operator< (const ModuleInfo
& compare
) const {
25 return base_address
< compare
.base_address
;
28 // Identifies if an address is within a module.
29 bool ContainsAddress(uintptr_t address
) const {
30 return address
>= base_address
&& address
< base_address
+ size
;
34 uintptr_t base_address
;
38 #endif // CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_