Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
TransparentBridgeInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: TransparentBridgeInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 24.02.2021
7//
8// Description:
9// Interface for accessing transparent bridges.
10//-----------------------------------------------------------------------------
11
12#ifndef TRANSPARENTBRIDGEINTERFACE_H
13#define TRANSPARENTBRIDGEINTERFACE_H
14
16#include <CommonInterface.h>
17
18#include <QSharedPointer>
19
20#include <KactusAPI/KactusAPIGlobal.h>
21
22class TransparentBridge;
23class BusInterfaceValidator;
24class IndirectInterfaceValidator;
25
26//-----------------------------------------------------------------------------
28//-----------------------------------------------------------------------------
30{
31public:
32
39 TransparentBridgeInterface(QSharedPointer<ExpressionParser> expressionParser,
40 QSharedPointer<ExpressionFormatter> expressionFormatter);
41
45 virtual ~TransparentBridgeInterface() = default;
46
52 void setBridges(QSharedPointer<QList<QSharedPointer<TransparentBridge> > > newBridges);
53
61 int getItemIndex(std::string const& masterReference) const;
62
70 std::string getIndexedMasterReference(int const& itemIndex) const;
71
77 virtual int itemCount() const override final;
78
84 virtual std::vector<std::string> getItemNames() const override final;
85
94 bool setMasterReference(std::string const& currentMaster, std::string const& newMaster);
95
101 virtual bool validateItems() const override final;
102
111 std::string getIsPresentValue(std::string const& masterReference, int const& baseNumber = 0) const;
112
120 std::string getIsPresentFormattedExpression(std::string const& masterReference) const;
121
129 std::string getIsPresentExpression(std::string const& masterReference) const;
130
139 bool setIsPresent(std::string const& masterReference, std::string const& newIsPresent);
140
149 bool addBridge(int const& bridgeIndex, std::string const& bridgeName = "") const;
150
158 bool removeTransparentBridge(std::string const& masterReference);
159
168 virtual int getAllReferencesToIdInItem(const std::string& itemName, std::string const& valueID) const;
169
177 std::vector<std::string> getAllExpressions(std::string const& masterReference) const;
178
182
183private:
184
192 QSharedPointer<TransparentBridge> getTransparentBridge(std::string const& masterReference) const;
193
194 //-----------------------------------------------------------------------------
195 // Data.
196 //-----------------------------------------------------------------------------
197
199 QSharedPointer<QList<QSharedPointer<TransparentBridge> > > bridges_;
200
202 QSharedPointer<BusInterfaceValidator> busValidator_;
203
205 QSharedPointer<IndirectInterfaceValidator> indirectValidator_;
206};
207
208#endif // TRANSPARENTBRIDGEINTERFACE_H
CommonInterface()=default
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
void setBridges(QSharedPointer< QList< QSharedPointer< TransparentBridge > > > newBridges)
bool setIsPresent(std::string const &masterReference, std::string const &newIsPresent)
std::vector< std::string > getAllExpressions(std::string const &masterReference) const
int getItemIndex(std::string const &masterReference) const
virtual int itemCount() const override final
bool removeTransparentBridge(std::string const &masterReference)
std::string getIsPresentValue(std::string const &masterReference, int const &baseNumber=0) const
TransparentBridgeInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
std::string getIndexedMasterReference(int const &itemIndex) const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const
bool addBridge(int const &bridgeIndex, std::string const &bridgeName="") const
virtual std::vector< std::string > getItemNames() const override final
std::string getIsPresentExpression(std::string const &masterReference) const
virtual bool validateItems() const override final
virtual ~TransparentBridgeInterface()=default
bool setMasterReference(std::string const &currentMaster, std::string const &newMaster)
std::string getIsPresentFormattedExpression(std::string const &masterReference) const