12#ifndef BUSINTERFACEINTERFACE_H
13#define BUSINTERFACEINTERFACE_H
18#include <IPXACTmodels/generaldeclarations.h>
19#include <IPXACTmodels/common/ConfigurableVLNVReference.h>
20#include <IPXACTmodels/common/Document.h>
21#include <IPXACTmodels/Component/BusInterface.h>
23#include <QSharedPointer>
26class InitiatorInterface;
28class MirroredTargetInterface;
29class TransparentBridge;
30class BusInterfaceValidator;
52 QSharedPointer<ExpressionParser> expressionParser,
53 QSharedPointer<ExpressionFormatter> expressionFormatter);
116 virtual int getItemIndex(std::string
const& itemName)
const override final;
149 virtual
bool setName(std::
string const& currentName, std::
string const& newName) override final;
201 General::InterfaceMode
getMode(std::
string const& busName) const;
230 bool setMode(std::
string const& busName, std::
string const& newMode);
296 bool setBitsInLau(std::
string const& busName, std::
string const& newBits);
315 bool setEndianness(std::
string const& busName, std::
string const& newEndianness);
334 bool setBitSteering(std::
string const& busName, std::
string const& newBitSteering);
391 bool setBaseAddress(std::
string const& busName, std::
string const& newBaseAddress);
438 ConfigurableVLNVReference
getBusType(std::
string const& busName) const;
457 bool setBustype(std::
string const& busName, ConfigurableVLNVReference const& newVLNV);
470 bool setBustype(std::
string const& busName, std::
string const& newVendor, std::
string const& newLibrary,
471 std::
string const& newName, std::
string const& newVersion) const;
503 std::
string const& newLibrary, std::
string const& newName, std::
string const& newVersion) const;
522 std::
string getRangeValue(std::
string const& busName,
int const& baseNumber = 0) const;
550 bool setRange(std::
string const& busName, std::
string const& newRange);
712 QSharedPointer<QList<QSharedPointer<TransparentBridge> > >
getBridges(std::
string const& busName) const;
721 QSharedPointer<QList<QSharedPointer<TransparentBridge> > >
createBridges(std::
string const& busName);
777 QSharedPointer<BusInterface> getBusInterface(std::
string const& busName) const;
786 QSharedPointer<NameGroup> getItem(std::
string const& busName) const override;
795 QSharedPointer<InitiatorInterface> getInitiatorInterface(std::
string const& busName) const;
804 QSharedPointer<InitiatorInterface> createInitiatorForBusInterface(std::
string const& busName);
813 QSharedPointer<TargetInterface> getTargetInterface(std::
string const& busName) const;
822 QSharedPointer<TargetInterface> createTargetForBusInterface(std::
string const& busName);
831 QSharedPointer<MirroredTargetInterface> getMirroredSlaveInterface(std::
string const& busName) const;
840 QSharedPointer<MirroredTargetInterface> createMirrorSlaveForBusInterface(std::
string const& busName);
849 QSharedPointer<BusInterface::MonitorInterface> getMonitorInterface(std::
string const& busName) const;
858 QSharedPointer<BusInterface::MonitorInterface> createMonitorForBusInterface(std::
string const& busName);
865 QSharedPointer<QList<QSharedPointer<BusInterface> > > busInterfaces_;
868 QSharedPointer<BusInterfaceValidator> busValidator_;
886 Document::Revision docRevision_ = Document::Revision::Unknown;
Interface for accessing abstraction types.
virtual int itemCount() const override final
bool setBitsInLau(std::string const &busName, std::string const &newBits)
std::string getBitSteering(std::string const &busName) const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const override
std::vector< std::string > pasteRows()
std::string getRangeValue(std::string const &busName, int const &baseNumber=0) const
std::string getMonitorGroup(std::string const &busName) const
AbstractionTypeInterface * getAbstractionTypeInterface() const
std::string getMemoryMapReference(std::string const &busName) const
bool setRemapAddress(std::string const &busName, std::string const &newRemapAddress)
bool hasValidAbstractionTypes(std::string const &busName) const
ConfigurableVLNVReference getBusType(std::string const &busName) const
QString getActiveSystemGroup(std::string const &busName) const
std::string getSystemGroup(std::string const &busName) const
std::vector< std::string > getFileSetReferences(std::string const &busName) const
bool addAbstractionType(std::string const &busName, std::string const &newVendor, std::string const &newLibrary, std::string const &newName, std::string const &newVersion) const
void setMemoryMapInterface(MemoryMapInterface *newMapInterface)
bool setSystemGroup(std::string const &busName, std::string const &newSystem)
bool setMode(std::string const &busName, std::string const &newMode)
std::string getBitsInLau(std::string const &busName) const
QSharedPointer< QList< QSharedPointer< TransparentBridge > > > createBridges(std::string const &busName)
std::string getIndexedItemName(int itemIndex) const final
bool setFileSetReferences(std::string const &busName, std::vector< std::string > const &newFileSetReferences)
void swapBusInterfaces(int const &firstIndex, int const &secondIndex)
std::string getModeString(std::string const &busName) const
std::string connectionIsRequired(std::string const &busName) const
void setAbstractionTypeInterface(AbstractionTypeInterface *newAbstractionTypeInterface)
bool removeBusInterface(std::string const &busName)
virtual ~BusInterfaceInterface()=default
General::InterfaceMode getActiveMode(std::string const &busName) const
void setBusInterfaces(QSharedPointer< Component > newComponent)
std::string getRangeFormattedExpression(std::string const &busName) const
bool busInterfaceExists(std::string const &busName) const
void setFileSetInterface(FileSetInterface *newFileSetInterface)
std::string getBaseAddressFormattedExpression(std::string const &busName) const
virtual std::vector< std::string > getItemNames() const override final
std::string getBusTypeString(std::string const &busName) const
bool removeAbstractionTypes(std::string const &busName)
std::string getRemapAddressValue(std::string const &busName, int const &baseNumber=0) const
virtual int getItemIndex(std::string const &itemName) const override final
bool setAddressSpaceReference(std::string const &busName, std::string const &newSpace)
bool setBustype(std::string const &busName, ConfigurableVLNVReference const &newVLNV)
bool setMonitorMode(std::string const &busName, std::string const &newMode)
std::string getRemapAddressFormattedExpression(std::string const &busName) const
bool setEndianness(std::string const &busName, std::string const &newEndianness)
bool setConnectionIsRequired(std::string const &busName, bool newValue)
std::string getBaseAddressValue(std::string const &busName, int const &baseNumber=0) const
General::InterfaceMode getMode(std::string const &busName) const
MemoryMapInterface * getMemoryMapInterface() const
TransparentBridgeInterface * getBridgeInterface()
bool setBaseAddress(std::string const &busName, std::string const &newBaseAddress)
void setParameterInterface(ParametersInterface *newParameterInterface)
void copyRows(std::vector< int > selectedRows)
BusInterfaceInterface(QSharedPointer< BusInterfaceValidator > busValidator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
bool setMonitorGroup(std::string const &busName, std::string const &newGroup)
void setupSubInterfaces(std::string const &busName)
QSharedPointer< QList< QSharedPointer< TransparentBridge > > > getBridges(std::string const &busName) const
QSharedPointer< BusInterfaceValidator > getValidator() const
bool validateBusInterface(std::string const &busName) const
bool setMemoryMapReference(std::string const &busName, std::string const &newMapReference)
std::string getAbstractionReferenceString(std::string const &busName) const
virtual bool validateItems() const override final
std::vector< std::string > getAbstractionReferences(std::string const &busName) const
General::InterfaceMode getMonitorMode(std::string const &busName) const
virtual bool itemHasValidName(std::string const &itemName) const override final
std::string getBaseAddressExpression(std::string const &busName) const
bool hasValidBusType(std::string const &busName) const
void addBusInterface(int const &newBusIndex, std::string const &busName="")
void setTransparentBridgeInterface(TransparentBridgeInterface *newBridgeInterface)
FileSetInterface * getFileSetInterface() const
std::string getRemapAddressExpression(std::string const &busName) const
std::string getRangeExpression(std::string const &busName) const
int getPasteRowCount() const
std::string getAddressSpaceReference(std::string const &busName) const
virtual bool setName(std::string const ¤tName, std::string const &newName) override final
bool setBitSteering(std::string const &busName, std::string const &newBitSteering)
std::vector< std::string > getAllExpressions(std::string const &busName) const
BusInterface::Endianness getEndianness(std::string const &busName) const
bool setRange(std::string const &busName, std::string const &newRange)
Interface for editing filesets.
Interface for editing memory maps and remaps.
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
Interface for editing parameters.
Interface for accessing transparent bridges.