+// Possible values for firmwarebugs
+enum firmwarebug_t {
+ BUG_NONE = 0,
+ BUG_NOLOGDIR,
+ BUG_SAMSUNG,
+ BUG_SAMSUNG2,
+ BUG_SAMSUNG3,
+ BUG_XERRORLBA
+};
+
+// Set of firmware bugs
+class firmwarebug_defs
+{
+public:
+ firmwarebug_defs()
+ : m_bugs(0) { }
+
+ bool is_set(firmwarebug_t bug) const
+ { return !!(m_bugs & (1 << bug)); }
+
+ void set(firmwarebug_t bug)
+ { m_bugs |= (1 << bug); }
+
+ void set(firmwarebug_defs bugs)
+ { m_bugs |= bugs.m_bugs; }
+
+private:
+ unsigned m_bugs;
+};
+
+