VOM reshuffle

split the VOM into two halves; a top/front-end and a bottom/backend.
Only the backend includes the auto-generated VAPI.
This serves two purposes:
1 - improves ompile times for VOM, since the VAPI is included
    only in the backend.
2 - does not expose VAPI to users of VOM

Change-Id: I17b93aeaef10c0eba8612016d9034aca5628d9f7
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/src/vpp-api/vom/tap_interface.hpp b/src/vpp-api/vom/tap_interface.hpp
index af90b7b..08dba50 100644
--- a/src/vpp-api/vom/tap_interface.hpp
+++ b/src/vpp-api/vom/tap_interface.hpp
@@ -42,75 +42,6 @@
    */
   std::shared_ptr<tap_interface> singular() const;
 
-  /**
-   * A functor class that creates an interface
-   */
-  class create_cmd : public interface::create_cmd<vapi::Tap_connect>
-  {
-  public:
-    create_cmd(HW::item<handle_t>& item,
-               const std::string& name,
-               route::prefix_t& prefix,
-               const l2_address_t& l2_address);
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-
-  private:
-    route::prefix_t& m_prefix;
-    const l2_address_t& m_l2_address;
-  };
-
-  /**
-   *
-   */
-  class delete_cmd : public interface::delete_cmd<vapi::Tap_delete>
-  {
-  public:
-    delete_cmd(HW::item<handle_t>& item);
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-  };
-
-  /**
-   * A cmd class that Dumps all the Vpp Interfaces
-   */
-  class dump_cmd : public VOM::dump_cmd<vapi::Sw_interface_tap_dump>
-  {
-  public:
-    /**
-     * Default Constructor
-     */
-    dump_cmd();
-
-    /**
-     * Issue the command to VPP/HW
-     */
-    rc_t issue(connection& con);
-    /**
-     * convert to string format for debug purposes
-     */
-    std::string to_string() const;
-
-    /**
-     * Comparison operator - only used for UT
-     */
-    bool operator==(const dump_cmd& i) const;
-  };
-
 private:
   /**
    * Class definition for listeners to OM events
@@ -151,6 +82,8 @@
                 admin_state_t state,
                 route::prefix_t prefix);
 
+  friend class interface_factory;
+
   /**
    * Ip Prefix
    */