12#ifndef ADDRESSBLOCKINTERFACE_H
13#define ADDRESSBLOCKINTERFACE_H
15#include <KactusAPI/KactusAPIGlobal.h>
19#include <IPXACTmodels/generaldeclarations.h>
20#include <IPXACTmodels/common/AccessTypes.h>
24class AddressBlockValidator;
50 QSharedPointer<ExpressionParser> expressionParser,
51 QSharedPointer<ExpressionFormatter> expressionFormatter,
68 virtual bool acceptBlock(std::string
const& blockName)
const final;
96 bool setRange(std::string
const& blockName, std::string
const& newRange)
const;
106 std::string
getWidthValue(std::string
const& blockName,
int const& baseNumber = 0)
const;
134 bool setWidth(std::string
const& blockName, std::string
const& newWidth)
const;
152 General::Usage
getUsage(std::string
const& blockName)
const;
162 bool setUsage(std::string
const& blockName, std::string
const& newUsage)
const;
175 std::string
getAccessString(std::string
const& blockName,
bool getAccessPolicyAccess =
false)
const;
184 AccessTypes::Access
getAccess(std::string
const& blockName)
const;
196 bool setAccess(std::string
const& blockName, std::string
const& newAccess,
bool setAccessPolicyAccess =
false)
const;
215 bool setVolatile(std::string
const& blockName,
bool newVolatile)
const;
225 bool setVolatile(std::string
const& blockName, std::string
const& newVolatileValue);
277 virtual
void addBlock(
int const& row, std::
string const& newBlockName = std::
string(
"")) final;
332 QSharedPointer<AddressBlock> getAddressBlock(std::
string const& itemName) const;
339 virtual std::
string getDefaultName() const final;
348 virtual QList<QSharedPointer<MemoryBlockBase> > getCopiedBlocks(std::vector<
int> const& selectedRows) const final;
355 virtual QString getMimeType() const override final;
364 virtual QSharedPointer<MemoryBlockBase> createCopyBlock(QSharedPointer<MemoryBlockBase> copiedItem) const final;
373 virtual
int countItems(QList<QSharedPointer<MemoryBlockBase> > itemList) const final;
380 virtual QSharedPointer<MemoryBlockValidator> getValidator() const final;
389 QSharedPointer<NameGroup> getItem(std::
string const& itemName) const override;
396 QSharedPointer<AddressBlockValidator> validator_;
bool setAccess(std::string const &blockName, std::string const &newAccess, bool setAccessPolicyAccess=false) const
RegisterInterface * getSubInterface() const
std::string getAccessString(std::string const &blockName, bool getAccessPolicyAccess=false) const
virtual bool validateItems() const override final
virtual std::vector< std::string > getExpressionsInSelectedItems(std::vector< std::string > const &itemNames) const final
virtual ~AddressBlockInterface()=default
std::string getWidthFormattedExpression(std::string const &blockName) const
General::Usage getUsage(std::string const &blockName) const
bool setRange(std::string const &blockName, std::string const &newRange) const
std::string getUsageString(std::string const &blockName) const
std::string getVolatile(std::string const &blockName) const
bool setVolatile(std::string const &blockName, std::string const &newVolatileValue)
std::string getRangeFormattedExpression(std::string const &blockName) const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const final
bool hasValidUsage(std::string const &itemName) const
int getAccessPolicyCount(std::string const &blockName) const
std::string getWidthExpression(std::string const &blockName) const
bool hasRegisters(std::string const &blockName) const
bool addAccessPolicy(std::string const &blockName) const
bool hasValidRange(std::string const &itemName) const
AddressBlockInterface(QSharedPointer< AddressBlockValidator > blockValidator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter, BusInterfaceInterface *busInterface, RegisterInterface *subInterface, ParametersInterface *parameterInterface)
virtual void addBlock(int const &row, std::string const &newBlockName=std::string("")) final
bool hasValidWidth(std::string const &itemName) const
bool setUsage(std::string const &blockName, std::string const &newUsage) const
std::string getRangeExpression(std::string const &blockName) const
AccessTypes::Access getAccess(std::string const &blockName) const
virtual bool acceptBlock(std::string const &blockName) const final
bool setWidth(std::string const &blockName, std::string const &newWidth) const
bool setVolatile(std::string const &blockName, bool newVolatile) const
std::string getWidthValue(std::string const &blockName, int const &baseNumber=0) const
Interface for accessing bus interfaces.
MemoryBlockInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter, BusInterfaceInterface *busInterface, ParametersInterface *parameterInterface)
Interface for editing parameters.
Interface for editing registers.