#ifndef DOMAIN_CONNECTION_INSTANCE_H #define DOMAIN_CONNECTION_INSTANCE_H #include "connection.h" #include "instance.h" #include "wireinstance.h" namespace domain { class ConnectionInstance { public: ComponentInstance *instance; Connection connection; WireInstance *wire; std::vector attributes; ConnectionInstance(ComponentInstance *instance, std::vector attributes, WireInstance *wire, Connection connection); }; class BusConnectionInstance: public ConnectionInstance { public: BusInstance *bus; BusConnectionInstance(ComponentInstance *instance, std::vector attributes, BusInstance *bus, WireInstance *wire, Connection connection); }; class DirectConnectionInstance: public ConnectionInstance { public: BusInstance *bus; ComponentInstance *secondInstance; DirectConnectionInstance(ComponentInstance *instance, ComponentInstance *secondsInstance, std::vector attributes, BusInstance *bus, WireInstance *wire, Connection connection); }; } // namespace domain #endif // DOMAIN_CONNECTIONINSTANCE_H