#include "schema.h" namespace domain { Schema::Schema() { } bool Schema::hasConnection(string& component, string& pin) { return getConnection(component, pin) != nullptr; } ConnectionInstance* Schema::getConnection(string& component, string& pin) { for(auto& conn: connections) { if(conn->instance->name == component && conn->connection.getComponent().pin == pin) { return conn.get(); } auto dirConn = dynamic_cast(conn.get()); if(dirConn != nullptr) { if(dirConn->secondInstance->name == component && conn->connection.getSecondComponent()->pin == pin) { return dirConn; } } } return nullptr; } } // namespace domain