make xrt_frame_sink inherit from xrt_frame_node?
When going through and annotating "implements" relations, I noticed there are no objects implementing xrt_frame_sink
that do not also implement xrt_frame_node
. (This seems logical enough, need to be able to tear down all sinks.) However, there are some things that only implement xrt_frame_node
(not all nodes are sinks - also logical).
If we made xrt_frame_sink derive from xrt_frame_node, this would (possibly) simplify things, and definitely simplify this ugly graph:
It would also mean that it wouldn't be possible to accidentally implement a sink that isn't a node.
Alternately, another thought I had was that we should probably have an xrt_frame_source
since most of the "sinks" are also sources. In that case to avoid diamond inheritance we would actually want to keep xrt_frame_node
separate.
Thoughts @wallbraker ?