All implementations of the connection interface live in the Host module
already, so it makes sense for the interface itself to be defined there.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
This is how things would look like if we move Connection to Utility instead. I
needed to do two things to make this happen:
- Keep Connection::CreateDefaultConnection in Host (now known as Host::CreateDefaultConnection), because this actually creates concrete instances).
- Move IOObject to Utility as well. Connection interface was depending on this class. Although theoretically a forward declaration could suffice, we still shouldn't depend on stuff forward-declared in another module. The same rationale can apply to this class as well -- it's an abstract interface, which can live in Utility, and all concrete instances can (hopefully) stay in Host.