Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
PortsInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: PortsInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 25.02.2020
7//
8// Description:
9// Interface for editing component ports.
10//-----------------------------------------------------------------------------
11
12#ifndef PORTSINTERFACE_H
13#define PORTSINTERFACE_H
14
15#include <KactusAPI/KactusAPIGlobal.h>
16
18#include <MasterPortInterface.h>
19
20#include <IPXACTmodels/common/DirectionTypes.h>
21#include <IPXACTmodels/Component/Port.h>
22
23
24class PortValidator;
25
26//-----------------------------------------------------------------------------
28//-----------------------------------------------------------------------------
30{
31public:
32
40 PortsInterface(QSharedPointer<PortValidator> validator,
41 QSharedPointer<ExpressionParser> expressionParser,
42 QSharedPointer<ExpressionFormatter> expressionFormatter);
43
47 virtual ~PortsInterface() = default;
48
54 void setPorts(Port::List ports);
55
61 bool hasPorts() const;
62
70 int getItemIndex(std::string const& itemName) const final;
71
79 std::string getIndexedItemName(int itemIndex) const final;
80
86 int itemCount() const final;
87
93 std::vector<std::string> getItemNames() const final;
94
103 bool setName(std::string const& currentName, std::string const& newName) final;
104
113 int getAllReferencesToIdInItem(const std::string& itemName, std::string const& valueID) const final;
114
122 bool portExists(std::string const& portName) const;
123
129 bool validateItems() const final;
130
138 bool itemHasValidName(std::string const& itemName) const final;
139
147 std::string getTypeName(std::string const& portName) const;
148
156 std::vector<std::pair<std::string, std::vector<std::string> > > getTypeNameViews(std::string const& portName) const;
157
165 std::vector<std::pair<std::string, std::vector<std::string> > > getTypeDefinitions(std::string const& portName) const;
166
175 bool setTypeDefViewRefs(std::string const& portName, std::vector<std::pair<std::string, std::vector<std::string> > > const& typeNameViews);
176
185 bool setTypeDefDefinitions(std::string const& portName, std::vector<std::pair<std::string, std::vector<std::string> > > const& typeDefinitions);
186
194 bool clearTypeDefinitions(std::string const& portName);
195
204 bool setTypeName(std::string const& portName, std::string const& newType) const;
205
214 std::string getArrayLeftValue(std::string const& portName, unsigned int baseNumber = 0) const;
215
223 std::string getArrayLeftFormattedExpression(std::string const& portName) const;
224
232 std::string getArrayLeftExpression(std::string const& portName) const;
233
242 bool setArrayLeft(std::string const& portName, std::string const& newArrayLeft) const;
243
252 std::string getArrayRightValue(std::string const& portName, unsigned int baseNumber = 0) const;
253
261 std::string getArrayRightFormattedExpression(std::string const& portName) const;
262
270 std::string getArrayRightExpression(std::string const& portName) const;
271
280 bool setArrayRight(std::string const& portName, std::string const& newArrayRight) const;
281
289 std::string getTags(std::string const& portName) const;
290
299 bool setTags(std::string const& portName, std::string const& tagList) const;
300
308 bool isAdHoc(std::string const& portName) const;
309
318 bool setAdHoc(std::string const& portName, bool newAdHocVisibility) const;
319
327 std::string getDirection(std::string const& portName) const;
328
336 DirectionTypes::Direction getDirectionType(std::string const& portName) const;
337
346 bool setDirection(std::string const& portName, std::string const& newDirection) const;
347
356 std::string getLeftBoundValue(std::string const& portName, unsigned int baseNumber = 0) const;
357
365 std::string getLeftBoundFormattedExpression(std::string const& portName) const;
366
374 std::string getLeftBoundExpression(std::string const& portName) const;
375
384 bool setLeftBound(std::string const& portName, std::string const& newLeftBound) const;
385
394 std::string getRightBoundValue(std::string const& portName, unsigned int baseNumber = 0) const;
395
403 std::string getRightBoundFormattedExpression(std::string const& portName) const;
404
412 std::string getRightBoundExpression(std::string const& portName) const;
413
422 bool setRightBound(std::string const& portName, std::string const& newRightBound) const;
423
431 bool hasExpressionInLeftOrRightBound(std::string const& portName) const;
432
440 std::string getWidth(std::string const& portName) const;
441
450 bool setWidth(std::string const& portName, std::string const& newWidth) const;
451
460 std::string getDefaultValue(std::string const& portName, unsigned int baseNumber = 0) const;
461
469 std::string getDefaultValueFormattedExpression(std::string const& portName) const;
470
478 std::string getDefaultValueExpression(std::string const& portName) const;
479
488 bool setDefaultValue(std::string const& portName, std::string const& newDefaultValue) const;
489
498 std::string getBusWidthValue(std::string const& portName, unsigned int baseNumber = 0) const;
499
507 std::string getBusWidthFormattedExpression(std::string const& portName) const;
508
516 std::string getBusWidthExpression(std::string const& portName) const;
517
526 bool setBusWidth(std::string const& portName, std::string const& newBusWidth) const;
527
535 std::string getInitiative(std::string const& portName) const;
536
545 bool setInitiative(std::string const& portName, std::string const& newInitiative) const;
546
554 std::string getKind(std::string const& portName) const;
555
564 bool setKind(std::string const& portName, std::string const& newKind) const;
565
573 std::string getProtocolType(std::string const& portName) const;
574
583 bool setProtocolType(std::string const& portName, std::string const& newProtocolType) const;
584
593 std::string getMaxConnectionsValue(std::string const& portName, unsigned int baseNumber = 0) const;
594
602 std::string getMaxConnectionsFormattedExpression(std::string const& portName) const;
603
611 std::string getMaxConnectionsExpression(std::string const& portName) const;
612
621 bool setMaxConnections(std::string const& portName, std::string const& newMaxConnections) const;
622
631 std::string getMinConnectionsValue(std::string const& portName, unsigned int baseNumber = 0) const;
632
640 std::string getMinConnectionsFormattedExpression(std::string const& portName) const;
641
649 std::string getMinConnectionsExpression(std::string const& portName) const;
650
659 bool setMinConnections(std::string const& portName, std::string const& newMinConnections) const;
660
666 void addWirePort(std::string const& newPortName = std::string()) final;
667
673 void addTransactionalPort(std::string const& newPortName = std::string()) final;
674
680 bool removePort(std::string const& portName) const;
681
689 bool portLeftArrayValueIsValid(std::string const& portName) const;
690
698 bool portRightArrayValueIsValid(std::string const& portName) const;
699
707 bool portHasValidTypes(std::string const& portName) const;
708
716 bool portIsWire(std::string const& portName) const final;
717
725 bool portIsWire(QSharedPointer<Port> port) const;
726
734 bool portHasValidLeftBound(std::string const& portName) const;
735
743 bool portHasValidRightBound(std::string const& portName) const;
744
752 bool portHasValidDefaultValue(std::string const& portName) const;
753
761 bool portIsTransactional(std::string const& portName) const final;
762
770 bool portIsTransactional(QSharedPointer<Port> port) const;
771
779 bool portHasValidBusWidth(std::string const& portName) const;
780
788 bool portHasValidInitiative(std::string const& portName) const;
789
797 bool portHasValidKind(std::string const& portName) const;
798
806 bool portHasValidProtocol(std::string const& portName) const;
807
815 bool portHasValidMaxConnections(std::string const& portName) const;
816
824 bool portHasValidMinConnections(std::string const& portName) const;
825
833 std::string getIconPathForPort(std::string const& portName) const;
834
842 QSharedPointer<Port> getPort(std::string const& portName) const;
843
844 QSharedPointer<NameGroup> getItem(std::string const& portName) const final;
845
847 PortsInterface(const PortsInterface& other) = delete;
848 PortsInterface& operator=(const PortsInterface& other) = delete;
849
850private:
851
857 void setTypeNameAndDefinition(QSharedPointer<Port> port) const;
858
859 //-----------------------------------------------------------------------------
860 // Data.
861 //-----------------------------------------------------------------------------
862
864 Port::List ports_ = nullptr;
865
867 QSharedPointer<PortValidator> portValidator_;
868};
869
870#endif // PORTSMODEL_H
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
int getItemIndex(std::string const &itemName) const final
bool isAdHoc(std::string const &portName) const
std::vector< std::pair< std::string, std::vector< std::string > > > getTypeDefinitions(std::string const &portName) const
bool setTypeDefDefinitions(std::string const &portName, std::vector< std::pair< std::string, std::vector< std::string > > > const &typeDefinitions)
QSharedPointer< Port > getPort(std::string const &portName) const
bool setInitiative(std::string const &portName, std::string const &newInitiative) const
void setPorts(Port::List ports)
std::string getIndexedItemName(int itemIndex) const final
bool setName(std::string const &currentName, std::string const &newName) final
bool setAdHoc(std::string const &portName, bool newAdHocVisibility) const
std::string getInitiative(std::string const &portName) const
int itemCount() const final
bool portIsWire(std::string const &portName) const final
std::string getArrayRightFormattedExpression(std::string const &portName) const
bool portHasValidTypes(std::string const &portName) const
bool portIsTransactional(std::string const &portName) const final
bool setProtocolType(std::string const &portName, std::string const &newProtocolType) const
std::vector< std::pair< std::string, std::vector< std::string > > > getTypeNameViews(std::string const &portName) const
bool portHasValidLeftBound(std::string const &portName) const
bool setLeftBound(std::string const &portName, std::string const &newLeftBound) const
bool portHasValidKind(std::string const &portName) const
std::string getArrayRightExpression(std::string const &portName) const
PortsInterface(QSharedPointer< PortValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
bool setBusWidth(std::string const &portName, std::string const &newBusWidth) const
bool portHasValidDefaultValue(std::string const &portName) const
bool hasExpressionInLeftOrRightBound(std::string const &portName) const
std::string getBusWidthFormattedExpression(std::string const &portName) const
bool clearTypeDefinitions(std::string const &portName)
QSharedPointer< NameGroup > getItem(std::string const &portName) const final
bool portExists(std::string const &portName) const
std::string getDefaultValue(std::string const &portName, unsigned int baseNumber=0) const
bool setMaxConnections(std::string const &portName, std::string const &newMaxConnections) const
bool portHasValidBusWidth(std::string const &portName) const
std::string getMinConnectionsExpression(std::string const &portName) const
std::string getArrayRightValue(std::string const &portName, unsigned int baseNumber=0) const
bool portHasValidInitiative(std::string const &portName) const
bool setKind(std::string const &portName, std::string const &newKind) const
void addWirePort(std::string const &newPortName=std::string()) final
bool portRightArrayValueIsValid(std::string const &portName) const
std::string getTags(std::string const &portName) const
std::string getMaxConnectionsFormattedExpression(std::string const &portName) const
std::string getWidth(std::string const &portName) const
bool portHasValidMinConnections(std::string const &portName) const
std::string getBusWidthExpression(std::string const &portName) const
std::string getRightBoundFormattedExpression(std::string const &portName) const
bool setTypeDefViewRefs(std::string const &portName, std::vector< std::pair< std::string, std::vector< std::string > > > const &typeNameViews)
virtual ~PortsInterface()=default
std::string getMaxConnectionsValue(std::string const &portName, unsigned int baseNumber=0) const
std::string getKind(std::string const &portName) const
std::string getArrayLeftValue(std::string const &portName, unsigned int baseNumber=0) const
std::string getRightBoundValue(std::string const &portName, unsigned int baseNumber=0) const
bool setDirection(std::string const &portName, std::string const &newDirection) const
bool setDefaultValue(std::string const &portName, std::string const &newDefaultValue) const
std::string getArrayLeftExpression(std::string const &portName) const
bool setArrayRight(std::string const &portName, std::string const &newArrayRight) const
int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const final
std::string getRightBoundExpression(std::string const &portName) const
std::string getArrayLeftFormattedExpression(std::string const &portName) const
bool setTags(std::string const &portName, std::string const &tagList) const
std::string getDirection(std::string const &portName) const
bool hasPorts() const
std::string getDefaultValueExpression(std::string const &portName) const
std::string getLeftBoundExpression(std::string const &portName) const
bool setRightBound(std::string const &portName, std::string const &newRightBound) const
bool itemHasValidName(std::string const &itemName) const final
bool setMinConnections(std::string const &portName, std::string const &newMinConnections) const
bool portHasValidProtocol(std::string const &portName) const
bool setWidth(std::string const &portName, std::string const &newWidth) const
bool portLeftArrayValueIsValid(std::string const &portName) const
void addTransactionalPort(std::string const &newPortName=std::string()) final
std::string getMaxConnectionsExpression(std::string const &portName) const
std::vector< std::string > getItemNames() const final
std::string getLeftBoundValue(std::string const &portName, unsigned int baseNumber=0) const
bool portHasValidMaxConnections(std::string const &portName) const
std::string getLeftBoundFormattedExpression(std::string const &portName) const
bool portHasValidRightBound(std::string const &portName) const
bool removePort(std::string const &portName) const
std::string getMinConnectionsFormattedExpression(std::string const &portName) const
bool setTypeName(std::string const &portName, std::string const &newType) const
std::string getDefaultValueFormattedExpression(std::string const &portName) const
std::string getIconPathForPort(std::string const &portName) const
DirectionTypes::Direction getDirectionType(std::string const &portName) const
std::string getBusWidthValue(std::string const &portName, unsigned int baseNumber=0) const
std::string getTypeName(std::string const &portName) const
std::string getMinConnectionsValue(std::string const &portName, unsigned int baseNumber=0) const
bool validateItems() const final
std::string getProtocolType(std::string const &portName) const
bool setArrayLeft(std::string const &portName, std::string const &newArrayLeft) const