Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: src/platform/vboot_reference/utility/include/gbb_utility.h

Issue 2549001: Refine gbb_utility for better maintainance (Closed) Base URL: ssh://gitrw.chromium.org/chromiumos
Patch Set: fix lint errors (extra space) Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/platform/vboot_reference/utility/gbb_utility.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/vboot_reference/utility/include/gbb_utility.h
diff --git a/src/platform/vboot_reference/utility/include/gbb_utility.h b/src/platform/vboot_reference/utility/include/gbb_utility.h
index 70a4527504f424e6f92ec5fb535191b97a1fbb87..021eb80fcd8597d1c87d957aa041f3c78752b217 100644
--- a/src/platform/vboot_reference/utility/include/gbb_utility.h
+++ b/src/platform/vboot_reference/utility/include/gbb_utility.h
@@ -13,6 +13,14 @@ namespace vboot_reference {
class GoogleBinaryBlockUtil {
public:
+ // enumerate of available data fields
+ enum PROPINDEX {
+ PROP_HWID, // hardware id
+ PROP_ROOTKEY, // root key
+ PROP_BMPFV, // bitmap FV
+ PROP_RANGE, // indicator of valid property range
+ };
+
GoogleBinaryBlockUtil();
~GoogleBinaryBlockUtil();
@@ -24,22 +32,27 @@ class GoogleBinaryBlockUtil {
// return true on success.
bool save_to_file(const char *filename);
- // getters and setters of properties in GBB
- bool set_hwid(const char *hwid); // hwid is NUL-terminated.
+ // retrieve the value of a property from GBB data.
+ // return the property value.
+ std::string get_property(PROPINDEX i) const;
+
+ // overwrite a property in GBB data.
+ // return true on success.
+ bool set_property(PROPINDEX i, const std::string &value);
+
+ // get a readable name by a property index.
+ // return the name for valid properties, otherwise unexpected empty string.
+ std::string get_property_name(PROPINDEX i) const;
+
+ // quick getters and setters of known properties in GBB
+ bool set_hwid(const char *hwid); // NOTE: hwid is NUL-terminated.
bool set_rootkey(const std::string &value);
bool set_bmpfv(const std::string &value);
- std::string get_hwid() const { return get_property(PROP_HWID); }
+ std::string get_hwid() const { return get_property(PROP_HWID); }
std::string get_rootkey() const { return get_property(PROP_ROOTKEY); }
- std::string get_bmpfv() const { return get_property(PROP_BMPFV); }
+ std::string get_bmpfv() const { return get_property(PROP_BMPFV); }
private:
- // enumerate of available data fields
- enum PROPINDEX {
- PROP_HWID, // hardware id
- PROP_ROOTKEY, // root key
- PROP_BMPFV, // bitmap FV
- };
-
// clear all cached data and initialize to original state
void initialize();
@@ -52,17 +65,12 @@ class GoogleBinaryBlockUtil {
bool load_gbb_header(const std::string &image, long offset,
GoogleBinaryBlockHeader *phdr) const;
- // retrieve a property from GBB data.
- // return the property value.
- std::string get_property(PROPINDEX i) const;
-
- // overwrite a property in GBB data.
- // return true on success.
- bool set_property(PROPINDEX i, const std::string &value);
-
- // find the size and offset information for given property
- // return true if the offset and size are assign to *poffset and *psize.
- bool find_property(PROPINDEX i, uint32_t *poffset, uint32_t *psize) const;
+ // find the size, offset, and name information for given property.
+ // return true if the offset and size are assign to *poffset and *psize;
+ // if pname is not NULL, *pname will hold a pointer to a readable name.
+ // return false if the property index is invalid.
+ bool find_property(PROPINDEX i, uint32_t *poffset, uint32_t *psize,
+ const char **pname) const;
GoogleBinaryBlockHeader header_; // copy of GBB header from image
std::string file_content_; // complete image file content
« no previous file with comments | « src/platform/vboot_reference/utility/gbb_utility.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698