12#ifndef LIBRARYINTERFACE_H
13#define LIBRARYINTERFACE_H
15#include <IPXACTmodels/common/VLNV.h>
18#include <QSharedPointer>
39 virtual QSharedPointer<Document>
getModel(VLNV
const& vlnv) = 0;
50 return getModel(vlnv).dynamicCast<T>();
80 virtual bool contains(VLNV
const& vlnv)
const = 0;
94 virtual const QString
getPath(VLNV
const& vlnv)
const = 0;
184 virtual int getOwners(QList<VLNV>& list, VLNV
const& vlnvToSearch)
const = 0;
193 virtual int getChildren(QList<VLNV>& list, VLNV
const& vlnvToSearch)
const = 0;
223 virtual QSharedPointer<Design>
getDesign(VLNV
const& hierarchyRef) = 0;
253 virtual void onOpenDesign(VLNV
const& vlnv, QString
const& viewName) = 0;
294 void openBus(VLNV
const& busDefVLNV, VLNV
const& absDefVLNV,
bool disableBusDef);
300 void createAbsDef(VLNV
const& busDefVLNV, QString
const& directory,
bool disableBusDef);
LibraryInterface defines an interface to operate the IP-XACT-library.
virtual VLNV::IPXactType getDocumentType(VLNV const &vlnv)=0
virtual VLNV getDesignVLNV(VLNV const &hierarchyRef)=0
virtual void searchForIPXactFiles()=0
Search for IP-XACT files in the file system and add them to library.
void openPlatformComponent(VLNV const &vlnv)
Signal that user wants to open a platform component.
virtual QSharedPointer< Document const > getModelReadOnly(VLNV const &vlnv)=0
void openBus(VLNV const &busDefVLNV, VLNV const &absDefVLNV, bool disableBusDef)
Signal that user wants to open specified bus for editing.
virtual void removeObject(VLNV const &vlnv)=0
void openDesign(VLNV const &vlnv, QString const &viewName)
Signal that user wants to open the specified component for editing.
virtual int referenceCount(VLNV const &vlnv) const =0
virtual QString getDirectoryPath(VLNV const &vlnv) const =0
virtual bool writeModelToFile(QString const &path, QSharedPointer< Document > model)=0
QSharedPointer< T > getModel(VLNV const &vlnv)
void openComponent(VLNV const &vlnv)
Signal that user wants to open specified component for editing.
virtual void removeObjects(const QList< VLNV > &vlnvList)=0
virtual QList< VLNV > getAllVLNVs() const =0
QSharedPointer< T const > getModelReadOnly(VLNV const &vlnv)
virtual QSharedPointer< Design > getDesign(VLNV const &hierarchyRef)=0
virtual bool writeModelToFile(QSharedPointer< Document > model)=0
virtual int getChildren(QList< VLNV > &list, VLNV const &vlnvToSearch) const =0
virtual LibraryItem const * getTreeRoot() const =0
virtual void onEditItem(VLNV const &vlnv)=0
virtual const QString getPath(VLNV const &vlnv) const =0
virtual void getNeededVLNVs(VLNV const &vlnv, QList< VLNV > &list)=0
virtual void onOpenDesign(VLNV const &vlnv, QString const &viewName)=0
virtual QSharedPointer< Document > getModel(VLNV const &vlnv)=0
void itemSelected(VLNV const &vlnv)
Signal that the library item specified by vlnv is selected in one of the views.
void openSystemDesign(VLNV const &vlnv)
Signal that user wants to open a system for editing.
virtual int getOwners(QList< VLNV > &list, VLNV const &vlnvToSearch) const =0
virtual bool contains(VLNV const &vlnv) const =0
virtual void getDependencyFiles(VLNV const &vlnv, QStringList &list)=0
void createAbsDef(VLNV const &busDefVLNV, QString const &directory, bool disableBusDef)
Signal that user wants to create a new abstraction definition for given bus definition.
virtual void beginSave()=0
virtual bool isValid(VLNV const &vlnv)=0
virtual void onCheckLibraryIntegrity()=0
LibraryItem class is used to create the hierarchical structure of IP library.