misc: deprecate VOM
[vpp.git] / extras / vom / vom / pipe.hpp
diff --git a/extras/vom/vom/pipe.hpp b/extras/vom/vom/pipe.hpp
deleted file mode 100644 (file)
index 7da3a1f..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 2018 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __VOM_PIPE_H__
-#define __VOM_PIPE_H__
-
-#include "vom/interface.hpp"
-
-namespace VOM {
-/**
- * A Pipe interface.
- * A pipe is composed for 3 'interfaces'.
- *  1) the 'parent' interface - this is used as the 'key' for the pipe
- *  2) the two 'ends' of the pipe - these are used to RX/TX packets
- *     form/to. The ends are retreivable using the east()/west() functions.
- *     The east and west end are exactly equivalent, they are merely
- *     named differently for logical purposes.
- */
-class pipe : public interface
-{
-public:
-  typedef std::pair<handle_t, handle_t> handle_pair_t;
-
-  /**
-   * Construct a new object matching the desried state
-   */
-  pipe(uint32_t instance, admin_state_t state);
-
-  /**
-   * Destructor
-   */
-  ~pipe();
-
-  /**
-   * Copy Constructor
-   */
-  pipe(const pipe& o);
-
-  /**
-   * comparison operator - for UT
-   */
-  bool operator==(const pipe& s) const;
-
-  /**
-   * Return the matching 'singular instance' of the sub-interface
-   */
-  std::shared_ptr<pipe> singular() const;
-
-  /**
-   * Find a subinterface from its key
-   */
-  static std::shared_ptr<pipe> find(const key_t& k);
-
-  /**
-   * The interface that is the east end of the pipe
-   */
-  std::shared_ptr<interface> east();
-
-  /**
-   * The interface that is the west end of the pipe.
-   * The east and west end are exactly equivalent, they are merely
-   * named differently for logical purposes.
-   */
-  std::shared_ptr<interface> west();
-
-  virtual std::string to_string(void) const;
-
-  void set_ends(const handle_pair_t& p);
-
-private:
-  /**
-   * The interface type that forms the ends of the pipe
-   */
-  class pipe_end : public interface
-  {
-  public:
-    pipe_end(const pipe& p, uint8_t id);
-
-  private:
-    virtual std::queue<cmd*>& mk_create_cmd(std::queue<cmd*>& cmds);
-    virtual std::queue<cmd*>& mk_delete_cmd(std::queue<cmd*>& cmds);
-
-    std::shared_ptr<pipe> m_pipe;
-  };
-
-  /**
-*Class definition for listeners to OM events
-*/
-  class event_handler : public OM::listener, public inspect::command_handler
-  {
-  public:
-    event_handler();
-    virtual ~event_handler() = default;
-
-    /**
-     * Handle a populate event
-     */
-    void handle_populate(const client_db::key_t& key);
-
-    /**
-     * Handle a replay event
-     */
-    void handle_replay();
-
-    /**
-     * Show the object in the Singular DB
-     */
-    void show(std::ostream& os);
-
-    /**
-     * Get the sortable Id of the listener
-     */
-    dependency_t order() const;
-  };
-  static event_handler m_evh;
-
-  /**
-   * Return the matching 'instance' of the pipe
-   *  over-ride from the base class
-   */
-  std::shared_ptr<interface> singular_i() const;
-
-  /**
-   * Virtual functions to construct an interface create commands.
-   */
-  virtual std::queue<cmd*>& mk_create_cmd(std::queue<cmd*>& cmds);
-
-  /**
-   * Virtual functions to construct an interface delete commands.
-   */
-  virtual std::queue<cmd*>& mk_delete_cmd(std::queue<cmd*>& cmds);
-
-  /**
-   * the handles that are set during the create command
-   */
-  HW::item<handle_pair_t> m_hdl_pair;
-
-  /**
-   * The ends of the pipe
-   */
-  std::shared_ptr<interface> m_ends[2];
-
-  /**
-   * Instance number
-   */
-  uint32_t m_instance;
-};
-
-}; // namespace VOM
-
-/*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "mozilla")
- * End:
- */
-
-#endif