aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp-api/vom/route_domain.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vpp-api/vom/route_domain.hpp')
-rw-r--r--src/vpp-api/vom/route_domain.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/vpp-api/vom/route_domain.hpp b/src/vpp-api/vom/route_domain.hpp
index 0639fb95925..516271f7f66 100644
--- a/src/vpp-api/vom/route_domain.hpp
+++ b/src/vpp-api/vom/route_domain.hpp
@@ -16,6 +16,7 @@
#ifndef __VOM_ROUTE_DOMAIN_H__
#define __VOM_ROUTE_DOMAIN_H__
+#include "vom/inspect.hpp"
#include "vom/object_base.hpp"
#include "vom/om.hpp"
#include "vom/prefix.hpp"
@@ -94,6 +95,41 @@ public:
private:
/**
+ * 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;
+ };
+
+ /**
+ * Instance of the event handler to register with OM
+ */
+ static event_handler m_evh;
+
+ /**
* Commit the acculmulated changes into VPP. i.e. to a 'HW" write.
*/
void update(const route_domain& obj);