diff options
Diffstat (limited to 'src/vpp-api/vom/route_domain.hpp')
-rw-r--r-- | src/vpp-api/vom/route_domain.hpp | 36 |
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); |