Pin
|
Public Member Functions | |
KNOB_BASE (const std::string &myprefix, const std::string &myname, const std::string &myfamily, const std::string &mydefault, const std::string &mypurpose, KNOB_MODE mymode=KNOB_MODE_WRITEONCE) | |
virtual const std::string | Type ()=0 |
KNOB_MODE | Mode () const |
const std::string & | Family () const |
const std::string & | Name () const |
std::string | Cmd () const |
BOOL | Enabled () const |
STATIC VOID | CheckAllKnobs (BOOL allowDashes=FALSE) |
STATIC UINT32 | NumberOfKnobs () |
STATIC VOID | DisableKnobFamily (const std::string &myfamily) |
STATIC VOID | EnableKnobFamily (const std::string &myfamily) |
STATIC VOID | SetDeveloperFlagsEnabled () |
STATIC BOOL | WasDeveloperFlagsEnabled () |
STATIC VOID | DisableKnob (const std::string &myname) |
STATIC VOID | EnableKnob (const std::string &myname) |
STATIC std::string | StringKnobSummary () |
STATIC std::string | StringLongAll () |
STATIC KNOB_BASE * | FindKnob (const std::string &name) |
STATIC KNOB_BASE * | FindFamily (const std::string &name) |
STATIC KNOB_BASE * | FindEnabledKnob (const std::string &name) |
STATIC VOID | SetParsingDone () |
STATIC BOOL | WasParsingDone () |
int | Compare (const KNOB_BASE &k2) const |
virtual const std::string & | ValueString (const UINT32 index) const =0 |
virtual UINT32 | NumberOfValues () const =0 |
virtual BOOL | AddValue (const std::string &valstring)=0 |
BOOL | SetByUser () const |
Protected Attributes | |
KNOB_BASE * | _next |
const std::string | _family |
const std::string | _name |
const std::string | _purpose |
const std::string | _default_value |
const KNOB_MODE | _mode |
BOOL | _disabled |
INT32 | _nreads |
INT32 | _nwrites |
keeps maintenance information that is independent of knob type
|
pure virtual |
The function operate differently based on the knob's mode:
KNOB_MODE_WRITEONCE - Set knob's value with the specified value. If the knob was already given a value, exit with PIN_ERROR. KNOB_MODE_OVERWRITE - Overwrite knob's value with the specified value unless knob was initialized from command line (knobs which were initialized with a value in the command line by the user are not permitted to be changed). KNOB_MODE_ACCUMULATE - Add the value to the knob's former value. If the knob wasn't given a value before, make it the knob's value. KNOB_MODE_APPEND - Concatenate the value to the knob's value list.
Implemented in LEVEL_BASE::KNOB< TYPE >, and LEVEL_BASE::KNOB< BOOL >.