*/
#include "vom/lldp_binding.hpp"
-#include "vom/cmd.hpp"
+#include "vom/lldp_binding_cmds.hpp"
+#include "vom/singular_db_funcs.hpp"
namespace VOM {
/**
* A DB of all LLDP configs
*/
-singular_db<interface::key_type, lldp_binding> lldp_binding::m_db;
+singular_db<interface::key_t, lldp_binding> lldp_binding::m_db;
lldp_binding::event_handler lldp_binding::m_evh;
m_db.release(m_itf->key(), this);
}
+bool
+lldp_binding::operator==(const lldp_binding& l) const
+{
+ return ((key() == l.key()) && (m_port_desc == l.m_port_desc));
+}
+
+const lldp_binding::key_t&
+lldp_binding::key() const
+{
+ return (m_itf->key());
+}
+
void
lldp_binding::sweep()
{
if (m_binding) {
- HW::enqueue(new unbind_cmd(m_binding, m_itf->handle()));
+ HW::enqueue(new lldp_binding_cmds::unbind_cmd(m_binding, m_itf->handle()));
}
HW::write();
}
void
lldp_binding::dump(std::ostream& os)
{
- m_db.dump(os);
+ db_dump(m_db, os);
}
void
lldp_binding::replay()
{
if (m_binding) {
- HW::enqueue(new bind_cmd(m_binding, m_itf->handle(), m_port_desc));
+ HW::enqueue(
+ new lldp_binding_cmds::bind_cmd(m_binding, m_itf->handle(), m_port_desc));
}
}
* the desired state is always that the interface should be created
*/
if (!m_binding) {
- HW::enqueue(new bind_cmd(m_binding, m_itf->handle(), m_port_desc));
+ HW::enqueue(
+ new lldp_binding_cmds::bind_cmd(m_binding, m_itf->handle(), m_port_desc));
}
}
return (m_db.find_or_add(temp.m_itf->key(), temp));
}
+std::shared_ptr<lldp_binding>
+lldp_binding::find(const key_t& k)
+{
+ return (m_db.find(k));
+}
+
std::shared_ptr<lldp_binding>
lldp_binding::singular() const
{
void
lldp_binding::event_handler::show(std::ostream& os)
{
- m_db.dump(os);
+ db_dump(m_db, os);
}
}