A Component representing a machine. More...
#include <MachineComponent.h>
Public Member Functions | |
| MachineComponent () | |
| Constructs a MachineComponent. More... | |
Public Member Functions inherited from Component | |
| virtual | ~Component () |
| string | GetClassName () const |
| Gets the class name of the component. More... | |
| string | GetVisibleClassName () const |
| Gets the visible class name of the component. More... | |
| refcount_ptr< Component > | Clone () const |
| Clones the component and all its children. More... | |
| const refcount_ptr< Component > | LightClone () const |
| Makes a light clone of the component and all its children. More... | |
| void | DetectChanges (const refcount_ptr< Component > &oldClone, ostream &changeMessages) const |
| Compare an older clone to the current tree, to find changes. More... | |
| string | GenerateTreeDump (const string &branchTemplate, bool htmlLinksForClassNames=false, string prefixForComponentUrls="") const |
| Generates an ASCII tree dump of a component tree. More... | |
| virtual string | GenerateDetails () const |
| Generate details about the component. More... | |
| void | Reset () |
| Resets the state of this component and all its children. More... | |
| bool | PreRunCheck (GXemul *gxemul) |
| Checks the state of this component and all its children, before starting execution. More... | |
| void | FlushCachedState () |
| Resets the cached state of this component and all its children. More... | |
| virtual int | Execute (GXemul *gxemul, int nrOfCycles) |
| Execute one or more cycles. More... | |
| virtual double | GetCurrentFrequency () const |
| Returns the current frequency (in Hz) that the component runs at. More... | |
| virtual RootComponent * | AsRootComponent () |
| Returns the component's RootComponent interface. More... | |
| virtual CPUComponent * | AsCPUComponent () |
| Returns the component's CPUComponent interface. More... | |
| virtual AddressDataBus * | AsAddressDataBus () |
| Returns the component's AddressDataBus interface, if any. More... | |
| void | SetParent (Component *parentComponent) |
| Sets the parent component of this component. More... | |
| Component * | GetParent () |
| Gets this component's parent component, if any. More... | |
| const Component * | GetParent () const |
| virtual void | GetMethodNames (vector< string > &names) const |
| Retrieves a component's implemented method names. More... | |
| virtual bool | MethodMayBeReexecutedWithoutArgs (const string &methodName) const |
| Returns whether a method name may be re-executed without args. More... | |
| virtual void | ExecuteMethod (GXemul *gxemul, const string &methodName, const vector< string > &arguments) |
| Executes a method on the component. More... | |
| string | GeneratePath () const |
| Generates a string representation of the path to the Component. More... | |
| string | GenerateShortestPossiblePath () const |
| Generates a short string representation of the path to the Component. More... | |
| const refcount_ptr< Component > | LookupPath (string path) const |
| Looks up a path from this Component, and returns a pointer to the found Component, if any. More... | |
| vector< string > | FindPathByPartialMatch (const string &partialPath, bool shortestPossible=false) const |
| Finds complete component paths, given a partial path. More... | |
| void | AddChild (refcount_ptr< Component > childComponent, size_t insertPosition=(size_t) -1) |
| Adds a reference to a child component. More... | |
| size_t | RemoveChild (Component *childToRemove) |
| Removes a reference to a child component. More... | |
| Components & | GetChildren () |
| Gets pointers to child components. More... | |
| const Components & | GetChildren () const |
| Gets pointers to child components, as a const reference. More... | |
| void | GetVariableNames (vector< string > &names) const |
| Retrieves a component's state variable names. More... | |
| StateVariable * | GetVariable (const string &name) |
| Gets a pointer to a state variable. More... | |
| const StateVariable * | GetVariable (const string &name) const |
| Gets a pointer to a state variable. More... | |
| bool | SetVariableValue (const string &name, const string &expression) |
| Sets a variable to a new value. More... | |
| void | Serialize (ostream &ss, SerializationContext &context) const |
| Serializes the Component into a string stream. More... | |
| bool | CheckConsistency () const |
| Checks consistency by serializing and deserializing the component (including all its child components), and comparing the checksum of the original tree with the deserialized tree. More... | |
| void | AddChecksum (Checksum &checksum) const |
| Adds this component's state, including children, to a checksum. More... | |
Public Member Functions inherited from ReferenceCountable | |
| ReferenceCountable () | |
| Default constructor, which initializes the reference count to zero. More... | |
| ~ReferenceCountable () | |
Static Public Member Functions | |
| static refcount_ptr< Component > | Create (const ComponentCreateArgs &args) |
| Creates a MachineComponent. More... | |
| static string | GetAttribute (const string &attributeName) |
| Get attribute information about the MachineComponent class. More... | |
| static void | RunUnitTests (int &nSucceeded, int &nFailures) |
Static Public Member Functions inherited from Component | |
| static string | GetAttribute (const string &attributeName) |
| Creates a Component. More... | |
| static refcount_ptr< Component > | Deserialize (ostream &messages, const string &str, size_t &pos) |
| Deserializes a string into a component tree. More... | |
Static Public Member Functions inherited from UnitTestable | |
| static void | RunUnitTests (int &nSucceeded, int &nFailures) |
| Runs unit test cases. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Component | |
| Component (const string &className, const string &visibleClassName) | |
| Base constructor for a Component. More... | |
| template<class T > | |
| bool | AddVariable (const string &name, T *variablePointer) |
| Adds a state variable of type T to the Component. More... | |
| bool | AddCustomVariable (const string &name, CustomStateVariableHandler *variableHandler) |
| Adds a custom state variable to the Component. More... | |
| virtual bool | CheckVariableWrite (StateVariable &var, const string &oldValue) |
| Checks whether a write to a variable is OK. More... | |
| virtual void | ResetState () |
| Resets the state variables of this component. More... | |
| virtual bool | PreRunCheckForComponent (GXemul *gxemul) |
| Checks the state of this component, before starting execution. More... | |
| virtual void | FlushCachedStateForComponent () |
| Resets the cached state of this component. More... | |
| GXemul * | GetRunningGXemulInstance () |
| Returns a reference to the current GXemul instance. More... | |
| UI * | GetUI () |
| Gets an UI reference for outputting debug messages during runtime. More... | |
A Component representing a machine.
A machine is, loosely defined, a box containing e.g.:
Definition at line 53 of file MachineComponent.h.
| MachineComponent::MachineComponent | ( | ) |
Constructs a MachineComponent.
Definition at line 31 of file MachineComponent.cc.
Referenced by Create().
|
static |
Creates a MachineComponent.
Definition at line 37 of file MachineComponent.cc.
References MachineComponent().
|
static |
Get attribute information about the MachineComponent class.
Implementation specifics for the MachineComponent class: The machine is "stable" and a "machine".
| attributeName | The attribute name. |
Definition at line 43 of file MachineComponent.cc.
References Component::GetAttribute().
|
static |
1.8.17