add handler logic to handle SysCableCheck

Add handler logic to handler for SysCableCheck such that it splits the
true IPMI processing from the business logic.

Tested: Only ran unit-tests (added new ones).
Change-Id: Ieec35cc8839dcd3cfb864b68ffbd1a45d1326fee
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/handler.hpp b/handler.hpp
index cad2916..e2e10fa 100644
--- a/handler.hpp
+++ b/handler.hpp
@@ -20,6 +20,15 @@
      * @return tuple of ethernet details (channel, if name).
      */
     virtual std::tuple<std::uint8_t, std::string> getEthDetails() const = 0;
+
+    /**
+     * Return the value of rx_packets, given a if_name.
+     *
+     * @param[in] name, the interface name.
+     * @return the number of packets received.
+     * @throw IpmiException on failure.
+     */
+    virtual std::int64_t getRxPackets(const std::string& name) const = 0;
 };
 
 class Handler : public HandlerInterface
@@ -29,6 +38,7 @@
     ~Handler() = default;
 
     std::tuple<std::uint8_t, std::string> getEthDetails() const override;
+    std::int64_t getRxPackets(const std::string& name) const override;
 };
 
 extern Handler handlerImpl;