aboutsummaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/interface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/interface.cpp')
-rw-r--r--extras/vom/vom/interface.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/extras/vom/vom/interface.cpp b/extras/vom/vom/interface.cpp
index 371682333c7..c1894c2fbdf 100644
--- a/extras/vom/vom/interface.cpp
+++ b/extras/vom/vom/interface.cpp
@@ -39,6 +39,11 @@ std::map<handle_t, std::weak_ptr<interface>> interface::m_hdl_db;
interface::event_handler interface::m_evh;
/**
+ * the event enable command.
+ */
+std::shared_ptr<interface_cmds::events_cmd> interface::m_events_cmd;
+
+/**
* Construct a new object matching the desried state
*/
interface::interface(const std::string& name,
@@ -486,6 +491,20 @@ interface::dump(std::ostream& os)
}
void
+interface::enable_events(interface::event_listener& el)
+{
+ m_events_cmd = std::make_shared<interface_cmds::events_cmd>(el);
+ HW::enqueue(m_events_cmd);
+ HW::write();
+}
+
+void
+interface::disable_events()
+{
+ m_events_cmd.reset();
+}
+
+void
interface::event_handler::handle_populate(const client_db::key_t& key)
{
/*