dev: Turn EtherObject into an interface class.
authorGabe Black <gabeblack@google.com>
Thu, 7 Mar 2019 01:29:43 +0000 (17:29 -0800)
committerGabe Black <gabeblack@google.com>
Fri, 15 Mar 2019 18:12:58 +0000 (18:12 +0000)
commitf5ba0d66459c1c035d4613376d1d39af08e483de
tree2deb1b27c75279df5467d6035d27a0007380d01f
parent94a00fb6d9270990cd04ae293556297a3c2f2563
dev: Turn EtherObject into an interface class.

This class used to drive from SimObject so that it could be derived
from to get both the interface and SimObject while still using single
inheritance.

With this change, EtherObject is now just an interface class with only
one pure virtual function which can be inherited alongside SimObject.
This makes it more flexible so that it can be used in places where you
might want a different inheritance hierarchy, for instance to inherit
from MemObject.

Change-Id: I0f07664d104eed012cf4ce6e30c416ada19505a7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17028
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
14 files changed:
src/dev/net/Ethernet.py
src/dev/net/SConscript
src/dev/net/dist_etherlink.cc
src/dev/net/dist_etherlink.hh
src/dev/net/etherbus.cc
src/dev/net/etherbus.hh
src/dev/net/etherlink.cc
src/dev/net/etherlink.hh
src/dev/net/etherobject.hh
src/dev/net/etherswitch.cc
src/dev/net/etherswitch.hh
src/dev/net/ethertap.cc
src/dev/net/ethertap.hh
src/dev/net/python.cc [new file with mode: 0644]