45 typedef vector< refcount_ptr<Component> >
Components;
80 Component(
const string& className,
const string& visibleClassName);
91 string GetClassName()
const;
99 string GetVisibleClassName()
const;
124 static string GetAttribute(
const string& attributeName);
167 ostream& changeMessages)
const;
180 string GenerateTreeDump(
const string& branchTemplate,
181 bool htmlLinksForClassNames =
false,
182 string prefixForComponentUrls =
"")
const;
189 virtual string GenerateDetails()
const;
215 void FlushCachedState();
237 virtual int Execute(
GXemul* gxemul,
int nrOfCycles);
245 virtual double GetCurrentFrequency()
const;
278 void SetParent(
Component* parentComponent);
303 virtual void GetMethodNames(vector<string>& names)
const;
318 virtual bool MethodMayBeReexecutedWithoutArgs(
const string& methodName)
const;
334 virtual void ExecuteMethod(
GXemul* gxemul,
335 const string& methodName,
336 const vector<string>& arguments);
352 string GeneratePath()
const;
370 string GenerateShortestPossiblePath()
const;
423 vector<string> FindPathByPartialMatch(
const string& partialPath,
424 bool shortestPossible =
false)
const;
437 size_t insertPosition = (
size_t) -1);
447 size_t RemoveChild(
Component* childToRemove);
469 void GetVariableNames(vector<string>& names)
const;
506 bool SetVariableValue(
const string& name,
const string& expression);
529 const string& str,
size_t& pos);
539 bool CheckConsistency()
const;
547 void AddChecksum(
Checksum& checksum)
const;
565 StateVariableMap::iterator it = m_stateVariables.find(name);
566 if (it != m_stateVariables.end())
569 m_stateVariables.insert(pair<string,StateVariable>
588 StateVariableMap::iterator it = m_stateVariables.find(name);
589 if (it != m_stateVariables.end())
592 m_stateVariables.insert(pair<string,StateVariable>
615 virtual bool CheckVariableWrite(
StateVariable& var,
const string& oldValue);
630 virtual void ResetState();
654 virtual bool PreRunCheckForComponent(
GXemul* gxemul);
670 virtual void FlushCachedStateForComponent();
678 GXemul* GetRunningGXemulInstance();
714 void AddAllComponentPaths(vector<string>& allComponentPaths)
const;
733 string m_visibleClassName;
745 #endif // COMPONENT_H
bool AddCustomVariable(const string &name, CustomStateVariableHandler *variableHandler)
Adds a custom state variable to the Component.
bool AddVariable(const string &name, T *variablePointer)
Adds a state variable of type T to the Component.
A Component which is the default root node in the configuration.
map< string, StateVariable > StateVariableMap
An interface for implementing components that read/write data via an address bus. ...
map< string, string > ComponentCreationSettings
A context used during serialization of objects.
Base class for reference countable objects.
A Component is a node in the configuration tree that makes up an emulation setup. ...
StateVariables make up the persistent state of Component objects.
A base-class for processors Component implementations.
ComponentCreationSettings componentCreationSettings
Base class for a User Interface.
vector< refcount_ptr< Component > > Components