12#ifndef FILEINTERFACE_H
13#define FILEINTERFACE_H
15#include <KactusAPI/KactusAPIGlobal.h>
19#include <IPXACTmodels/common/NameGroup.h>
25#include <QSharedPointer>
44 FileInterface(QSharedPointer<FileValidator> validator, QSharedPointer<ExpressionParser> expressionParser,
45 QSharedPointer<ExpressionFormatter> expressionFormatter);
57 void setFiles(QSharedPointer<QList<QSharedPointer<File> > > newFiles);
66 virtual int getItemIndex(std::string
const& itemName)
const override final;
89 virtual std::vector<std::
string>
getItemNames() const override final;
99 virtual
bool setName(std::
string const& currentName, std::
string const& newName) override final;
120 bool setDescription(std::
string const& itemName, std::
string const& newDescription) override;
164 void addFile(
int const& row, std::
string const& newFileName = std::
string(
""));
172 void addFile(std::
string const& newFileName = std::
string(
""));
189 void swapFiles(
int const& firstIndex,
int const& secondIndex);
301 bool setFileTypes(std::
string const& fileName, std::vector<std::
string> const newFileTypes);
311 bool addFileType(std::
string const& fileName, std::
string const newFileType);
347 bool addDependency(std::
string const& fileName, std::
string const newDependency);
419 bool addImageType(std::
string const& fileName, std::
string const newImageType);
438 std::vector<std::
string>
getFileTypes(std::
string const& fileName) const;
457 bool setBuildCommand(std::
string const& fileName, std::
string const& newBuildCommand);
516 std::
string const& newReplaceDefaultFlags);
546 QSharedPointer<File> getFile(std::
string const& fileName) const;
556 QSharedPointer<NameGroup> getItem(std::
string const& itemName) const override;
565 QSharedPointer<BuildCommand> getBuildCommand(std::
string const& fileName) const;
572 void removeEmptyBuildCommand(QSharedPointer<File> containingFile) const;
579 QSharedPointer<QList<QSharedPointer<File> > > files_;
582 QSharedPointer<FileValidator> validator_;
bool setIncludeFile(std::string const &fileName, bool includeFileStatus)
void clearDependencies(std::string const &fileName)
bool setLogicalName(std::string const &fileName, std::string newLogicalName)
std::string getDescription(std::string const &itemName) const override
FileInterface(QSharedPointer< FileValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
bool isLogicalNameDefault(std::string const &fileName) const
void swapFiles(int const &firstIndex, int const &secondIndex)
std::string getBuildCommandReplaceDefaultFlagsFormattedExpression(std::string const &fileName) const
bool setBuildCommandTarget(std::string const &fileName, std::string const &newTarget)
std::string getLogicalName(std::string const &fileName) const
bool isStructural(std::string const &fileName) const
void setFiles(QSharedPointer< QList< QSharedPointer< File > > > newFiles)
bool setFileTypes(std::string const &fileName, std::vector< std::string > const newFileTypes)
bool removeFile(std::string const &fileName)
virtual int getAllReferencesToIdInItem(const std::string &fileName, std::string const &valueID) const override final
std::vector< std::string > getImageTypes(std::string const &fileName) const
std::vector< std::string > getFileTypes(std::string const &fileName) const
void clearImageTypes(std::string const &fileName)
bool addMultipleImageTypes(std::string const &fileName, std::vector< std::string > const newImageTypes)
void addFile(int const &row, std::string const &newFileName=std::string(""))
virtual bool validateItems() const override final
std::vector< std::string > getDependencies(std::string const &fileName) const
std::string getBuildCommandReplaceDefaultFlagsValue(std::string const &fileName, int const &baseNumber=0) const
bool setExternalDeclarations(std::string const &fileName, bool externalDeclarationsStatus)
std::string getIndexedItemName(int itemIndex) const final
bool setStructural(std::string const &fileName, bool structuralStatus)
std::string getBuildCommandTarget(std::string const &fileName) const
bool addImageType(std::string const &fileName, std::string const newImageType)
bool setLogicalNameDefault(std::string const &fileName, bool newLogicalDefault)
virtual bool setName(std::string const ¤tName, std::string const &newName) override final
bool addExportedName(std::string const &fileName, std::string const newExportedName)
bool addMultipleExportedNames(std::string const &fileName, std::vector< std::string > const newExportedNames)
bool isIncludeFile(std::string const &fileName) const
bool addMultipleFileTypes(std::string const &fileName, std::vector< std::string > const newFileTypes)
bool addFileType(std::string const &fileName, std::string const newFileType)
std::vector< std::string > getExportedNames(std::string const &fileName) const
virtual int getItemIndex(std::string const &itemName) const override final
void clearFileTypes(std::string const &fileName)
bool setbuildCommandReplaceDefaultFlags(std::string const &fileName, std::string const &newReplaceDefaultFlags)
virtual std::vector< std::string > getItemNames() const override final
bool setBuildCommandFlags(std::string const &fileName, std::string const &newFlags)
virtual bool itemHasValidName(std::string const &itemName) const override final
bool addMultipleDependencies(std::string const &fileName, std::vector< std::string > const newDependencies)
bool setBuildCommand(std::string const &fileName, std::string const &newBuildCommand)
bool setDescription(std::string const &itemName, std::string const &newDescription) override
virtual int itemCount() const override final
bool addDependency(std::string const &fileName, std::string const newDependency)
virtual ~FileInterface()=default
std::string getBuildCommandText(std::string const &fileName) const
bool hasExternalDeclarations(std::string const &fileName) const
std::string getBuildCommandReplaceDefaultFlagsExpression(std::string const &fileName) const
std::vector< std::string > getExpressionsInSelectedFiles(std::vector< std::string > fileNames) const
void clearExportedNames(std::string const &fileName)
std::string getBuildCommandFlags(std::string const &fileName) const
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)