12#ifndef ABSTRACTIONTYPEINTERFACE_H
13#define ABSTRACTIONTYPEINTERFACE_H
15#include <IPXACTmodels/generaldeclarations.h>
17#include "KactusAPI/KactusAPIGlobal.h"
21#include <QSharedPointer>
23class AbstractionDefinition;
25class AbstractionTypeValidator;
27class ConfigurableVLNVReference;
46 QSharedPointer<AbstractionTypeValidator> validator,
LibraryInterface* library);
61 General::InterfaceMode busMode, QString
const& systemGroup);
84 QSharedPointer<AbstractionType>
getAbstraction(
int const& abstractionIndex)
const;
170 bool setAbstraction(
int const& abstractionIndex, std::
string const& newVendor, std::
string const& newLibrary,
171 std::
string const& newName, std::
string const& newVersion);
251 std::
string const& newName, std::
string const& newVersion) const;
280 QSharedPointer<QList<QSharedPointer<AbstractionType> > > abstractions_{
nullptr };
286 QSharedPointer<AbstractionTypeValidator> validator_;
std::vector< std::string > getViewReferences(int const &abstractionIndex) const
void setBusMode(General::InterfaceMode busMode)
std::string getCombinedViews(int const &abstractionIndex) const
virtual bool validateItems() const override final
virtual int itemCount() const override final
void setSystemGroup(QString const &systemGroup)
bool removeAbstraction(int const &typeIndex)
bool hasValidViewReferences(int const &typeIndex) const
void addAbstractionType(std::string const &newVendor, std::string const &newLibrary, std::string const &newName, std::string const &newVersion) const
std::vector< std::string > getAbstractionReferences() const
PortMapInterface * getPortMapInterface() const
QSharedPointer< AbstractionType > getAbstraction(int const &abstractionIndex) const
bool setAbstraction(int const &abstractionIndex, std::string const &newVendor, std::string const &newLibrary, std::string const &newName, std::string const &newVersion)
std::string getIndexedAbstraction(int const &itemIndex) const
void addAbstraction(int const &typeIndex)
bool hasValidAbstractionReference(int const &typeIndex) const
QSharedPointer< ConfigurableVLNVReference > getAbstractionReference(int const &typeIndex) const
bool setupAbstractionDefinitionForPortMapInterface(int const &abstractionTypeIndex)
virtual ~AbstractionTypeInterface()=default
AbstractionTypeInterface(PortMapInterface *portMapInterface, QSharedPointer< AbstractionTypeValidator > validator, LibraryInterface *library)
bool setupAbstractionTypeForPortMapInterface(int const &abstractionTypeIndex)
virtual std::vector< std::string > getItemNames() const override final
std::string getAbstractionReferenceString() const
void setAbstractionTypes(QSharedPointer< QList< QSharedPointer< AbstractionType > > > newAbstractions, General::InterfaceMode busMode, QString const &systemGroup)
bool hasAbstractionReference(int const &typeIndex) const
std::vector< std::string > getPhysicalPortsFromPortMaps(int const &abstractionIndex) const
bool setViewReferences(int const &abstractionIndex, std::vector< std::string > newViews)
CommonInterface()=default
LibraryInterface defines an interface to operate the IP-XACT-library.
Interface for editing port maps.