PPI: Implement Connector and Event un-registration
[senf.git] / senf / PPI / Connectors.cti
index b8f5bf3..598e7f1 100644 (file)
@@ -66,6 +66,12 @@ prefix_ void senf::ppi::connector::detail::TypedOutputMixin<Self,PacketType>::wr
 ///////////////////////////////////////////////////////////////////////////
 // senf::ppi::connector::PassiveConnector
 
+prefix_ senf::ppi::connector::PassiveConnector::~PassiveConnector()
+{
+    // Must be here and NOT in base so it is called before destructing the routes_ member
+    unregisterConnector();
+}
+
 template <class Handler>
 prefix_ void senf::ppi::connector::PassiveConnector::onRequest(Handler handler)
 {
@@ -75,6 +81,12 @@ prefix_ void senf::ppi::connector::PassiveConnector::onRequest(Handler handler)
 ///////////////////////////////////////////////////////////////////////////
 // senf::ppi::connector::ActiveConnector
 
+prefix_ senf::ppi::connector::ActiveConnector::~ActiveConnector()
+{
+    // Must be here and NOT in base so it is called before destructing the routes_ member
+    unregisterConnector();
+}
+
 template <class Handler>
 prefix_ void senf::ppi::connector::ActiveConnector::onThrottle(Handler handler)
 {