X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Finterface.cpp;h=c1894c2fbdf2ec9b426c65303bd526b4ef3b9ce4;hb=7e9affb696fcfd8f22cdce0caf46b1e2f25c5799;hp=371682333c7aa086df252178023f834d089312df;hpb=661f91fe0a6bd87040408d45d116b63c0811f4f9;p=vpp.git 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 @@ -38,6 +38,11 @@ std::map> interface::m_hdl_db; interface::event_handler interface::m_evh; +/** + * the event enable command. + */ +std::shared_ptr interface::m_events_cmd; + /** * Construct a new object matching the desried state */ @@ -485,6 +490,20 @@ interface::dump(std::ostream& os) db_dump(m_db, os); } +void +interface::enable_events(interface::event_listener& el) +{ + m_events_cmd = std::make_shared(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) {