From 9ddc14bb9b154518e2b8384d3f4571cf657c7920 Mon Sep 17 00:00:00 2001 From: srs5694 Date: Sun, 22 Aug 2010 22:44:42 -0400 Subject: Revisions for 0.6.10 release --- attributes.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'attributes.h') diff --git a/attributes.h b/attributes.h index ab8cb14..34cf258 100644 --- a/attributes.h +++ b/attributes.h @@ -2,10 +2,7 @@ under the terms of the GNU GPL version 2, as detailed in the COPYING file. */ #include -//#include -#include -#include -#include "support.h" +#include #ifndef __GPT_ATTRIBUTES #define __GPT_ATTRIBUTES @@ -16,16 +13,27 @@ using namespace std; class Attributes { + +private: + class staticInit {public: staticInit (void);}; + static string atNames[NUM_ATR]; + static Attributes::staticInit staticInitializer; + protected: uint64_t attributes; - string atNames[NUM_ATR]; + public: - Attributes(void); + Attributes(const uint64_t a = 0) {SetAttributes (a);} ~Attributes(void); - void SetAttributes(uint64_t a) {attributes = a;} + void SetAttributes(const uint64_t a) {attributes = a;} uint64_t GetAttributes(void) {return attributes;} void DisplayAttributes(void); void ChangeAttributes(void); + void ShowAttributes(const uint32_t partNum); + bool OperateOnAttributes(const uint32_t partNum, const string& attributeOperator, const string& attributeBits); + + static const string& GetAttributeName(const uint32_t bitNum) {return atNames [bitNum];} + static void ListAttributes(void); }; // class Attributes #endif -- cgit v1.2.1